在 Ubuntu 中找出为特定进程分配的总内存

Anj*_*ali 17 linux process memory

如何在 Ubuntu 中找出为特定进程分配的总内存?

gar*_*Red 17

尝试:

pidof bash | xargs ps -o rss,sz,vsz
Run Code Online (Sandbox Code Playgroud)

查找当前bashshell的内存使用情况(假设您正在使用bash)。更改bash为您正在调查的任何内容。如果您正在执行一个特定的过程,只需单独使用:

ps -o rss,sz,vsz <process id>
Run Code Online (Sandbox Code Playgroud)

man页面:

RSS:常驻集大小,任务已使用的非交换物理内存(以千字节为单位)。

SZ:进程核心映像的物理页大小。这包括文本、数据和堆栈空间。

VSZ:进程的虚拟内存大小,以 KiB(1024 字节为单位)为单位。

man对页面ps会列出所有可能的参数的-o选项(有可以选择好几个)。-o rss,sz您可以使用v显示替代内存布局的 BSD 样式选项(无破折号)代替您。

  • 有一个很好的 QA [here](http://unix.stackexchange.com/questions/32534/mathematical-connection-between-sz-rss-and-vsz-in-ps-op) 解释了 `RSS` 之间的关系、`SZ` 和`VSZ`。 (4认同)

Byt*_*ger 5

您可以使用pmapwhich 显示进程的内存映射:

pmap -p pid
Run Code Online (Sandbox Code Playgroud)

有关它的更多信息,请参阅手册页man pmap或查看pmap(1): report memory map of process - Linux 手册页