Cat
頂部沒有顯示貓的記憶體使用情況
我想生成一些 50 GB 的垃圾文件。所以我寫了這個
eightnoteight@mr:~/ while true; do > cat txt >> tmp > cat tmp >> txt > done
當我跑到頂部時,觀察觀察。我注意到在頂部 cat 的記憶體消耗是 0.0
如果貓沒有消耗我的記憶,那麼誰在做這項工作?(是直接核心呼叫嗎?)
我相信您被 %MEM 列中的四捨五入誤導了。如果您注意 VIRT 和 RSS 列,它們會報告使用的虛擬記憶體量和常駐記憶體量。在這兩種情況下,您都可以看到它們都是非零的。
虛擬記憶體是程序擁有的虛擬記憶體量,包括共享庫和已換出的頁面。駐留記憶體 (RSS) 是程序正在使用的非交換物理記憶體量。
因為
cat
它是一個具有簡單作業和低記憶體要求的小型執行檔,它佔用的記憶體字節數在您的系統上四捨五入到 0.0,主記憶體為 4GB。您的直覺並不遙遠,但是,您的核心正在完成將文件寫入磁碟實際涉及的大部分工作。