Cat

頂部沒有顯示貓的記憶體使用情況

  • June 22, 2017

我想生成一些 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。

您的直覺並不遙遠,但是,您的核心正在完成將文件寫入磁碟實際涉及的大部分工作。

引用自:https://unix.stackexchange.com/questions/156577