Memory
dd 的 /proc/meminfo 髒了
我從這裡讀到下面的命令給了我需要寫入磁碟的數據量。
grep ^Dirty /proc/meminfo
它特別說曾經問自己“如果我按下重置按鈕會失去多少數據?”
我想測試上面的命令,所以我做了以下。
dd if=/dev/urandom of=sample.txt bs=1G count=1
現在,在另一個 shell 中,我執行了上述命令。
grep ^Dirty /proc/meminfo Dirty: 44 kB grep ^Dirty /proc/meminfo Dirty: 36 kB
但是,如果我使用
cp
它報告進行文件複製,grep Dirty /proc/meminfo Dirty: 387680 kB grep Dirty /proc/meminfo Dirty: 609172 kB
我從這個頁面看到 Dirty 做了什麼。
Dirty — 等待寫回磁碟的記憶體總量,以千字節為單位。
為什麼Dirty不報告任何大小
dd
?
嘗試改用此命令:
dd if=/dev/urandom of=sample.txt bs=1M count=1024
dd``bs
只有當記憶體中的所有大小都達到時,才會寫入分配要寫入磁碟的數據。這是輸出寫入磁碟之前 128mb 的輸出
ps
:dd
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 4465 100 12.8 236260 129784 pts/1 R+ 17:15 0:13 dd if=/dev/urandom of=sample.txt bs=128M count=1
您可以看到該程序使用了大約 130mb 的記憶體(RSS 專欄)