当我执行“ps -auxwww”时,它显示 X 使用了大约 342M 的内存。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
[...]
root 2009 1.0 5.1 342564 105012 tty7 Rs+ Oct08 469:24 X :0
[...]
但是,'top' 显示大约 1358M:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
[...]
2009 root 20 0 1358m 102m 14m S 0.3 5.1 469:24.27 X
[...]
为什么,哪个是正确的?
我看到关于“top”和“ps”的“total memory used”的帖子是不同的 (因为共享内存),但不是为什么这会发生在单个 过程。
编辑:事实证明,即使没有一个“ps -eo”选项也会给出 top 给出的结果。
最佳答案
Top 包括缓存在缓冲区中的内容等等。聚苯乙烯没有。如果您想要应用程序的实际使用情况,请使用 ps。如果您想要应用程序使用的总数,包括系统为它保留的内容.. 使用 top
关于memory - 'ps' 和 'top' 显示单个进程的不同内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13317886/