牛骨文教育服务平台(让学习变的简单)
博文笔记

如何按占用内存大小查看Linux下的进程

创建时间:2015-02-11 投稿人: 浏览次数:919

这个问题是我在一次面试中被问到, 当时我并未回答出来, 我那时候只知道用静态的ps和动态的top查看进程数据.

那么如何按占用内存大小查看Linux下的进程呢?

ps

常用参数

-A 所有进程均显示出来
-a 不与terminal有关的所有进程
-u 有效使用者相关的进程
-x 通常与a一起用,可列出较完整信息

按内存大小排序

ps -aux默认是按PID从小到大显示的,若想按占用内存大小排序则需要借助另外sort命令针对第4列(内存所在列)排序:

ps -aux | sort -k4rn

如果我们只想看前n个进程, 还可以借助head命令,比如查看前10个占用内存最大的进程:

ps -aux | sort -k4rn | head -n 10

我们还可以借助awk来指定显示哪几列信息:

ps -aux |awk "{print $2, $4, $11}" | sort -k2rn | head -n 10

注意:我们先用awk指定了要显示的列, 这时sort的参数也要变化了.

top

常用参数

-d: 后面加数字指定数据刷新的频率, 预设是5秒
-p: 指定某些个pid进行观察

top执行过程中可使用的按键命令

?: 显示top中可以输入的按键命令
P: 以cpu使用率排序显示

M: 以内存使用率排序显示

N: 以PID排序显示

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。