进程管理命令之ps,top,htop,dstat
ps:report a snapshot of the current processes.
显示当前进程的状态
语法:ps [options]
选项有三种风格:
1、UNIX options, which may be grouped and must be
preceded by a dash.
2、BSD options, which may be grouped and must not
be used with a dash.
3、GNU long options, which are preceded by two
dashes.
ps选项option:
a:所有与终端相关的进程
x;所有与终端无关的进程
u:以用户为中心组织进程状态信息显示;
注:以上几个选项没有“-”,加上“-”结果也不一样
常用组合之一:aux
ps aux中的字段意义:
USER:用户
PID;进程号
%CPU:累计cpu占用率
%MEM:占内存总量的百分数
VSZ:虚拟内存集
RRS:resident size常驻内存集(坚决不能放在交换分区上的)
STAT:进程状态
R:running运行态
S:interruptable sleeping可中断睡眠
D:不可中断睡眠
T:Stoped停止态
Z:僵死态
+:前台进程(运行在终端之上)
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader会话主导者
[[email protected] ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19364 1536 ? Ss 16:28 0:01 /sb
root 2 0.0 0.0 0 0 ? S 16:28 0:00
root 3 0.0 0.0 0 0 ? S 16:28 0:00
root 4 0.0 0.0 0 0 ? S 16:28 0:00
root 5 0.0 0.0 0 0 ? S 16:28 0:00
root 6 0.0 0.0 0 0 ? S 16:28 0:00
root 7 0.0 0.0 0 0 ? S 16:28 0:00
###后面的省略
-e:显示所有进程
-f:显示完整格式的进程信息
-F:显示完整格式的进程信息
[[email protected] ~]# ps -f
UID PID PPID C STIME TTY TIME CMD
root 2399 2395 0 16:55 pts/0 00:00:00 -bash
root 2489 2399 1 17:17 pts/0 00:00:00 ps -f
[[email protected] ~]# ps -F
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 2399 2395 0 27118 1872 1 16:55 pts/0 00:00:00 -ba
root 2490 2399 2 27560 1136 1 17:17 pts/0 00:00:00 ps
[[email protected] ~]# ps -e
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 stopper/0
6 ? 00:00:00 watchdog/0
7 ? 00:00:00 migration/1
8 ? 00:00:00 stopper/1
9 ? 00:00:00 ksoftirqd/1
10 ? 00:00:00 watchdog/1
###后面的省略
常用组合之二:-ef -eF
C:cpu占用百分比
PSR:进程运行在哪个cpu上
-H:以层级结构显示进程的相关信息
[[email protected] ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 16:28 ? 00:00:01 /sbin/init
root 2 0 0 16:28 ? 00:00:00 [kthreadd]
root 3 2 0 16:28 ? 00:00:00 [migration/0]
root 4 2 0 16:28 ? 00:00:00 [ksoftirqd/0]
###后面的省略
[[email protected] ~]# ps -eF
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 1 0 0 4841 1536 1 16:28 ? 00:00:01 /sb
root 2 0 0 0 0 1 16:28 ? 00:00:00 0
root 3 2 0 0 0 0 16:28 ? 00:00:00 0
###后面的省略
常用组合之三: -eFH
[[email protected] ~]# ps -eFH
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 2 0 0 0 0 1 16:28 ? 00:00:00 [kthreadd]
root 3 2 0 0 0 0 16:28 ? 00:00:00 [migration/0]
####中间省略了一些
root 2083 1 0 6197 1848 0 16:29 ? 00:00:00 /usr/sbin/bluetoothd --udev
root 2127 1 0 16556 1180 1 16:29 ? 00:00:00 /usr/sbin/sshd
root 2395 2127 0 24992 4040 0 16:55 ? 00:00:00 sshd: [email protected]/0
####后面的省略
常用组合之四:
o field1,field2,。。:自定义要显示的字段列表,以逗号分隔;
常用的field:pid,ni(nice值),pri(优先级),psr,pcpu,stat,comm,tty,ppid,rtprio(实时优先级)
[[email protected] ~]# ps o pid,ni,stat
PID NI STAT
2295 0 Ss+
2297 0 Ss+
2299 0 Ss+
2301 0 Ss+
2303 0 Ss+
ps命令就以上部分
=========================================================================================
下面看看top命令
top - display Linux processes显示linux进程
排序;
P:以占据cpu百分比排序
M;以占据内存百分比排序
T:累计占用cpu时间排序
首部信息:
uptime:l命令
tasks及cpu信息:t命令
内存信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定的进程:k
注:以上的都是进入top命令之后才能使用的命令,即子命令
[[email protected] ~]# top
top - 17:37:14 up 1:08, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 118 total, 1 running, 117 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%s
Mem: 1004768k total, 235096k used, 769672k free, 41308k buf
Swap: 2031612k total, 0k used, 2031612k free, 66600k cac
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAN
11 root 20 0 0 0 0 S 0.3 0.0 0:04.47 events/
2566 root 20 0 15032 1212 924 R 0.3 0.1 0:00.07 top
1 root 20 0 19364 1536 1228 S 0.0 0.2 0:01.90 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.05 kthread
###后面的省略
top选项:-d #:指定刷新时间间隔,默认为3秒;
-b:以批次方式显示
-n #:显示多少批次;
=========================================================================================
htop命令:interactive process viewer
选项:
-d #:指定延迟时间间隔
-u Username:仅显示指定用户的进程
-s COLUME:以指定字段进行排序
子命令:
l:显示选定的进程打开的文件列表
s:跟踪选定的进程的系统调用
t:以层级关系显示各进程状态
a:将选定的进程绑定至某指定的CPU核心
========================================================================================
dstat命令:versatile tool for generating system resource statistics非常精巧的生成系统资源使用统计数据的工具
dstat [-afv] [options..] [delay [count]]
常用选项:
-c,--cpu:显示cpu相关信息;
-C #,#,#...,tobal
-d,--disk:显示磁盘的相关信息
-D sda,sdb,...,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:interface的相关统计数据
-p:显示process的相关统计数据
-r:显示io请求的相关统计数据
-s:显示swapped的相关统计数据
--tcp
。。。
--top-cpu:显示最占用cpu的进程
--top-io:显示最占用io的进程
--top-mem:显示最占用内存的进程
--top-lantency:延迟最大的进程
实践操作: