Linux 技术手札

Linux 计算 Process 占用多少内存

有时需要找出系统内占用最多内存 (RAM) 的进程, 以及查询询进程及其子进程到底用了多少内存, 在 Linux 下要查询那一个 process 占用最多内存 (RAM), 可以用 ps 指令再加上 –sort 参数, –sort 可以自订要排序的项目, 例如 CPU 或 RAM 也可以。当找到要查询的进程后, 可以用 awk 计算所有子进程所使用的内存有多少。

例如我想将使用最多内存的 process 排在结果的最后, 可以用以下指令:

执行以上指令后, ps 会将输出以 RSS size 排序, 最下面出现的是占用最多记亿体的 process.

例如现在知道 httpd 占用最多内存, 由于 httpd 有多个子进程在执行, 所以要计算 httpd 到底用了多少内存, 需要做一点计算, 下面指令会用 awk 计算所有 httpd 的进程用了多少内存, 并以 MB 为体位显示:

Exit mobile version