top は cat のメモリ使用量を表示しません。

top は cat のメモリ使用量を表示しません。

50GB程度のジャンクファイルを作成したいです。だから私はこれを書いた。

eightnoteight@mr:~/ while true; do
> cat txt >> tmp
> cat tmp >> txt
> done

私が上に走っている姿を見てください。上部にある猫のメモリ消費量が0.0であることを確認しました。

猫が私の記憶力を消費しない場合、誰がその仕事をしていますか? (直接カーネル呼び出しですか?)

猫の記憶消費

答え1

%MEM列の丸めのため誤解されているようです。 VIRT列とRSS列を見ると、使用されている仮想メモリの量と常駐メモリが報告されます。どちらの場合も、ゼロではないことがわかります。

仮想メモリは、共有ライブラリや置き換えられたページなど、プロセスが所有する仮想メモリの量です。 RSS(常駐メモリ)は、プロセスで使用されているスワップされていない物理メモリの量です。

作業が簡単でメモリ要件が低い小さな実行ファイルなのでcat、メインメモリが4GBのシステムで占めるメモリバイト数は0.0に丸められます。

しかし、あなたの直感はそれほど遠くなく、カーネルはファイルをディスクに書き込むことに実際に関連するほとんどの作業を行っています。

関連情報