linux进程主要分为:静态进程查看命令(ps)、动态进程查看命令(top)和查看进程树命令(pstree),下面分别介绍这几个进程
一、静态进程查看
ps命令格式:
- [root@CentOS5 ~]# ps -aux <=== 查看系统所有的进程
- [root@CentOS5 ~]#ps -lA <=== 也是能够查看所有系统的数据
- [root@CentOS5 ~]#ps axjf <=== 连同部分进程树状态
- -A:与-e意思一样,表示列出所有的进程
- -a:不与terminal有关的进程
- -u:有效用户相关的进程
- x :通常与a这个参数一起使用,可以列出完整信息
- 输出格式规划
- l :较长,较详细的将该PID的信息列出
- j :工作格式
- -f:做一个更为完整的输出
ps -l:仅查看自己的bash相关进程
- [root@CentOS5 ~]# ps -l
- F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
- 4 S 0 9949 9947 0 76 0 - 1132 wait pts/2 00:00:00 bash
- 4 R 0 10203 9949 0 77 0 - 1052 - pts/2 00:00:00 ps
F:进程标志
4:表示权限为root
1:表示只能复制,不能执行
S:表示进程的状态(STAT)
R:running表示正在运行状态
S:sleep表示沉睡状态,但是可以唤醒
D:表示沉睡状态,不能唤醒,通常这个进程可能在等待I/O的情况
T:stop表示停在状态,例如暂停的后台工作或出错进程
Z:僵尸进程,进程已经终止但不能提出内存外
UID/PID/PPID:表示用户的UID/进程的PID号码/此进程的父进程PID号码
C:表示CPU的使用率,单位是百分比
PRI/NI:表示此进程被CPU执行的优先级,数字越小,优先级越高
ADDR:支持该进程在内存的那个部分,若该进程正在运行这表示为“-”
SZ:表示该进程占用了多少内存
WCHAN:表示该进程是否运行,若在运行这表示为“-”
TTY:表示登陆终端,若是远程登陆表示为pts/h
TIME:表示该进程使用CPU的时间
CMD:command,表示那个命令启动的该进程
- [root@CentOS5 ~]# ps aux
- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- root 1 0.0 0.0 2064 620 ? Ss 07:29 0:00 init [3]
- root 2 0.0 0.0 0 0 ? S< 07:29 0:00 [migration/0]
- root 3 0.0 0.0 0 0 ? SN 07:29 0:00 [ksoftirqd/0]
- …(省略部分)…
- root 3022 0.0 0.0 1656 432 tty2 Ss+ 07:30 0:00 /sbin/mingetty tty2
- root 3023 0.0 0.0 1656 436 tty3 Ss+ 07:30 0:00 /sbin/mingetty tty3
- root 3024 0.0 0.0 1656 436 tty4 Ss+ 07:30 0:00 /sbin/mingetty tty4
- root 3025 0.0 0.0 1656 436 tty5 Ss+ 07:30 0:00 /sbin/mingetty tty5
- root 3026 0.0 0.0 1656 432 tty6 Ss+ 07:30 0:00 /sbin/mingetty tty6
USER:表示该进程所属用户
PID:该进程的PID号
%CPU:表示该进程的CPU占用率
%MEM:表示该进程的物理内存占用率
VSZ:表示该进程占用了多少虚拟内存量
RSS:表示该进程占用了多少固定内存量
TTY:表示登陆端口
STAT:和上面介绍的进程状态一样(R/S/D/T/Z进程)
START:该进程触发启动的时间
TIME:表示该进程占用CPU的时间
COMMAND:表示触动该进程的命令
僵尸进程
通常,造成僵尸进程的原因是该进程应该已经执行完毕,或是因故应该要终止了,但是该进程的父进程却无法完整将该进程结束掉,而造成那个进程一直在内存当中。如果你发现某个进程的CMD后面接上时,就代表该进程是僵尸进程,例如:
1 2598 2598 2598 ? -1 Ss 0 0:00 /usr/sbin/hcid
当系统不稳定的时候就容易造成所谓的僵尸进程,可能是因为程序写的不好,或者用户操作不当所造成的。如果系统出现很多僵尸进程,记得要找出父进程,然后好好跟踪,好好优化主机环境。如果实在不行就只有reboot了
二、动态进程:top
top命令格式
- [root@CentOS5 ~]# top [-d | -bnp]
- -d:表示界面刷新时间,单位秒,默认是5秒
- -b:以批次的方式进行top,还有更多的参数可以使用
- 通常会搭配数据重定向来讲批处理的结果输出成为文件
- -n:与-b搭配,意思是需要进行几次top的输出结果
- -p:查看直接进程,后面接进程号
- ?:显示在top当中可以输入的按键命令
- P:以cpu使用率来排名
- M:以内存的使用率来排名
- N:以PID来排名
- T:以进程使用CPU时间累加排名
- k:给予某个PID一个信号
- r:给予某个PID重新制定一个nice值
- q:退出离开
- [root@CentOS5 ~]# top
- top - 20:09:53 up 12:40, 2 users, load average: 0.00, 0.00, 0.00
- Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
- Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
- Mem: 823916k total, 677020k used, 146896k free, 79228k buffers
- Swap: 1671160k total, 0k used, 1671160k free, 462724k cached
-
- PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- 10687 root 35 19 2196 992 800 R 0.3 0.1 0:00.03 top
- 1 root 15 0 2064 620 532 S 0.0 0.1 0:00.74 init
- 2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
- 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
- 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
这里共有六行
第一行:表示现在时间,系统开机到现在的时间,多少登陆用户。负载均衡,在1、5、15分钟系统平均运行几个进程的意思,越小代表系统越闲置,若高于1得注意你的系统压力是否太过繁复了
第二行:表示系统共运行了多少进程,他们分别的运行状态,注意后面的zombie一般为0如果为其他数,就要注意了,看看到是那个进程是僵尸进程
第三行:表示当下CPU整体负载,需要特别注意的是%wa,这个选项代表的是I/Owait,通常你的系统会变慢都是I/O产生的问题比较大,如果你是多核设备可以按“1”切换查看不同的CPU负载情况
第四行与第五行:表示物理内存与虚拟内存使用的情况,swap的使用要越低越好,如果swap使用率较高表示物理内存不足
第六行:
PID:是进程ID
USER:该进程所属用户
PR:priority的缩写,进程的优先级,值越小优先级越高
NI:nice的缩写,与priority有关,值越小优先级越高
%CPU:CPU的使用率
%MEM:内存使用率
TIME+:CPU使用时间的累加
值得注意的是:在top中输入h或者?,可以显示帮助
三、查看进程树命令:pstree
pstree命令格式
- [root@CentOS5 ~]# pstree [-A|U] [-up]
- -A:各进程间连接用ASCII字符连接
- -U:该进程之间连接用utf8字符连接
- -p:同时显示PID
- -u:同时列出每个进程的所属账号名称
- [root@CentOS5 ~]# pstree -Aup
- init(1)-+-acpid(2738)
- |-atd(2912)
- |-auditd(2399)-+-audispd(2401)---{audispd}(2409)
- | `-{auditd}(2400)
- |-automount(2714)-+-{automount}(2715)
- | |-{automount}(2716)
- | |-{automount}(2719)
- | `-{automount}(2722)
- |-avahi-daemon(2942,avahi)---avahi-daemon(2943)
- |-crond(2856)
- |-cupsd(2792)
- |-dbus-daemon(2582,dbus)---{dbus-daemon}(2583)
- |-dhclient(2342)
- |-events/0(5)
- |-gam_server(3016)
- ...(部分省略)...
本文出自 “Aixe” 博客,请务必保留此出处http://aixecc.blog.51cto.com/3931677/826916