top 不显示 cat 的内存使用情况

top 不显示 cat 的内存使用情况

我想生成一些 50 GB 的垃圾文件。所以我写了这个

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

当我跑到顶部时,观察观察。我注意到在top中cat的内存消耗是0.0

如果猫没有消耗我的内存,谁在做这项工作? (是直接内核调用吗?)

猫内存消耗

答案1

我相信您被 %MEM 列中的四舍五入误导了。如果您注意到 VIRT 和 RSS 列,它们会报告所使用的虚拟内存和驻留内存的量。在这两种情况下,您都可以看到它们都非零。

虚拟内存是进程拥有的虚拟内存量,包括共享库和已换出的页面。常驻内存 (RSS) 是进程正在使用的非交换物理内存量。

由于cat它是一个小型可执行文件,工作简单且内存要求低,因此在具有 4GB 主内存的系统上,它占用的内存字节数四舍五入到 0.0。

然而,您的直觉并不遥远​​,您的内核正在执行将文件写入磁盘实际涉及的大部分工作。

相关内容