dd 的 /proc/meminfo 中存在脏信息

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 的作用。

脏 - 等待写回磁盘的内存总量(以千字节为单位)。

为什么肮脏的没有报告任何尺寸以防万一dd

答案1

尝试使用此命令代替:

dd if=/dev/urandom of=sample.txt bs=1M count=1024

ddbs只有当它获得内存中的所有大小时,才会将要写入磁盘的数据写入分配。

以下是将输出写入磁盘之前psfor a of 128mb的输出: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 专栏)

相关内容