Linux – 查看进程

一、ps aux 分析

作用:列出所有正在内存当中的进程

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       502  0.0  0.1 126320  1360 ?        Ss   Aug08   0:00 /usr/sbin/crond -n
root       505  0.0  0.0  25904   656 ?        Ss   Aug08   0:00 /usr/sbin/atd -f
root       821  0.0  1.4 573932 15012 ?        Ssl  Aug08   0:45 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
redis      907  0.0  0.7 145308  7328 ?        Ssl  Aug08   7:09 /usr/local/redis/bin/redis-server 127.0.0.1:6379
postfix   1078  0.0  0.2  89932  2740 ?        S    Aug08   0:00 qmgr -l -t unix -u
root      2206  0.0  0.2 112864  2244 ?        Ss   Aug08   0:00 /usr/sbin/sshd -D
root      4911  0.0  0.1 155360  1888 pts/0    R+   17:06   0:00 ps aux
root     13629  0.0  0.1  47376  1084 ?        Ss   Aug11   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx    13630  0.0  0.4  48528  4832 ?        S    Aug11   0:01 nginx: worker process
root     16644  0.0  0.6 157696  6436 ?        Ss   08:49   0:00 sshd: root
...

参数分析:

USER:该进程属于哪个用户

PID:该进程的进程ID

%CPU:该进程占用 CPU 资源百分比

%MEN:该进程占用的物理内存百分比

VSZ:该进程使用掉的虚拟内存量(kb)

RSS:该进程占用的固定的内存量(kb)

TTY:该进程是在哪个终端上面运行,如果与终端无关则显示 ?,如果是由网络连接进入主机的进程,则显示 pts/0

STAT:该进程目前的状态 (R:运行中;S:可被唤醒的睡眠状态;D:不可被唤醒的睡眠状态;T:停止状态;Z:僵尸状态(进程已终止,但是无法被删除至内存外))

START:该进程被触发启动的时间

TIME:该进程实际使用 CPU 的时间

COMMAND:该进程的实际命令是什么

ps aux --sort -%mem 可以查看当前所有进程占用内存,按所占百分比排序

二、ps -la

显示出所有的进程。

三、pstree -Aup

列出进程树。

四、例题

1、查看所有和 php-fpm 以及 nginx 相关的进程

ps aux | egrep 'php-fpm|nginx'

2、查看所有和 php-fpm 相关的进程

ps aux | egrep 'php-fpm'

3、显示和 php-fpm 相关的进程树(多用于子进程挂掉,找不到父进程时)

pstree -Aup | grep 'php-fpm'