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

bar*_*ter 3 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 
[...] 
Run Code Online (Sandbox Code Playgroud)

然而,'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 
[...] 
Run Code Online (Sandbox Code Playgroud)

为什么,哪一个是正确的?

我已经看到帖子重新'上'和'ps'"使用的总内存"不同(因为共享内存),但不是为什么会在单个进程上发生这种情况.

编辑:事实证明,即使没有"ps -eo"选项也会给出top给出的东西.

Zak*_*Zak 5

Top包括缓冲区中缓存的内容以及诸如此类的东西.PS没有.如果您想要应用程序的实际使用情况,请使用ps.如果您想要应用程序使用的总数,包括系统为其保留的内容..请使用top