我读自这里下面的命令给出了需要写入磁盘的数据量。
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
dd
bs
只有当它获得内存中的所有大小时,才会将要写入磁盘的数据写入分配。
以下是将输出写入磁盘之前ps
for 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 专栏)