我在这个网站上找到了很多帖子,详细介绍了如何在 Linux 中查找进程的使用情况,但其中大多数都返回每个进程的内存/CPU 使用率百分比。我需要知道每个进程的确切使用情况,因为我感兴趣的进程的结果总是四舍五入为零。
答案1
在具有虚拟内存和共享库的现代操作系统中,内存使用情况很难定义。有些事情使事情变得复杂:进程的某些内存可能:
- 实际上不在 RAM 中,而是被交换到磁盘
- 尚未分配,仅在第一次使用时分配
- 与其他进程共享
- 是出于效率原因而缓存的磁盘文件。
- 不是系统内存,而是网卡等的内存。
根据您是否要包含/排除上面列表的部分,您会得到不同的结果:
- RSS(驻留集大小)是进程实际占用的 RAM 内存量。这包括共享库,但不包括换出的数据。
- VSZ(虚拟大小)是内存的总量,包括换出的部分。
另请参阅此问题:https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management