memory - 'ps' 和 'top' 显示单个进程的不同内存使用情况

标签 memory

当我执行“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/

相关文章:

c++ - 为什么 bf1 和 bf2 共享一个内存位置,而 bf3 和 bf4 有自己的内存位置?

c - 当使用更多内存时,C 中的程序崩溃

memory - Tomcat6不断崩溃

android - 如何以编程方式清除 Android 中的非 Activity 内存?

memory - Apache Spark - 内存管理

memory - redis内存增长infi

ios - tmp目录下的文件删除后仍然占用空间ios

algorithm - MIPS 汇编语言中的内存访问

algorithm - 就地递归快速排序

java - 如何真正对 Java 应用程序的内存使用情况进行基准测试