一、ps命令:只显示命令运行这一刻的进程的状态
(一) /proc/:内核中的状态信息;通过这个接口输出给用户
1. 内核参数:
可设置参数:可设置其值从而调整内核运行特性的参数;/proc/sys/
状态变量:其用于输出内核中统计信息或状态信息,仅用于查看;
2. 参数:参数被模拟成文件系统类型;
(二)进程:
/proc/#:在proc目录下都有一个以进程号命名的目录,这个目录存放了进程当前状态的各种信息
#:PID ,进程号
1号进程:init (三) ps - report a snapshot of the current processes.
1. 命令使用格式:
ps [options]:
2. 选项有三种风格:
UNIX options, which may be grouped and must be preceded by a dash.必须带-
BSD options, which may be grouped and must not be used with a dash.一定不能带-
GNU long options, which are preceded by two dashes.长格式选项带--
3. 启动进程的方式:
系统启动过程中自动启动:与终端无关的进程;
用户通过终端启动:与终端相关的进程;
4. 选项:
a:所有与终端相关的进程;
x:所有与终端无关的进程;
u:以用户为中心组织进程状态信息显示;
-e:显示所有进程
-f:显示完整格式的进程信息
-F:显示完整格式的进程信息;
C:cpu utilization,CPU上网占用百分百
PSR:运行于哪颗CPU之上
-H:以层级结构显示进程的相关信息;
5. 常用组合之一:aux,以PID号进行排序
USER:启动进程的用户
PID:进程号
%CPU:累计占用CPU的时间
%MEM:占整个内存的比例
VSZ:虚拟内存集;占用的虚拟内存大小
RSS:Resident Size,常驻内存集;
STAT:当前进程的运行状态
R:running,运行态
S:interruptable sleeping,可中断睡眠
D:uninterruptable sleeping,不可中断睡眠
T:Stopped,停止态
Z:zombie,僵死态
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader,会话主导者
6. 常用组合之二:-ef
PPID:父进程号
STIME:启动时间
TIME:累计运行时间
7. 常用组合之三:-eFH
8. 常用组合之四:-eo, axo,o一定要写在最后,因为它要带参数
o field1, field2,...:自定义要显示的字段列表,以逗号分隔;
常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio
ni:nice值;
priority:priority, 优先级;
rtprio:real time priority,实时优先级;
二、top命令:以动态方式显示进程信息
- display Linux processes
(一)排序方式:
P:以占据CPU百分比排序;默认排序方式
M:以占据内存百分比排序;
T:累积占用CPU时间排序;
(二)首部信息:
1. ime信息:l命令,
uptime命令:显示系统时间、运行时长及平均负载;top命令的第一行的显示信息
过去1分钟、5分钟和15分钟的平均负载;
平均负载:等待运行的进程队列的长度;
2. sks及cpu信息:t命令
(1) Cpu:
us:用户空间的进程占用的CPU百分比
sy:内核空间的内核占用的CPU百分比
它们两个的比例差不多是7:3左右
ni:优先级调整占用的CPU的百分比
id:空闲百分比
wa:等待I/O完成所需要的时间
hi:处理硬件中断所消耗的CPU百分比
si:处理软中断所消耗的CPU百分比
st:被虚拟化程序所偷走的CPU时间百分比
3. 内存信息:m命令
(1) Kib Mem:物理内存
total:总空间
free:空闲空间
used:已使用的空间
buff/cache:用于缓存和缓冲的空间,可以被回收直接使用
(2) Kib Swap:交换分区
total:总空间
free:空闲空间
used:已使用的空间
buff/cache:用于缓存和缓冲的空间,可以被回收直接使用
avail Mem:可用内存空间
(三)其他命令
1. 退出命令:q
2. 修改刷新时间间隔:s
3. 终止指定的进程:k
(四)选项:
1. -d #:指定刷新时间间隔,默认为3秒;
2. -b:以批次方式显示;
3. -n #:显示多少批次;
三、htop命令
(一)基本操作
1.支持鼠标操作,例如点击F1,会显示帮助信息
(二)选项:
-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 #,#,...,total
-d, --disk:显示磁盘的相关信息
-D sda,sdb,...,tobal
-g:显示page相关的速率数据;
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;
--tcp :显示tcp的相关数据
--udp:显示udp的相关数据
--socket :显示套接字的相关数据
--ipc :显示进程间通信的相关数据
--top-cpu:显示最占用CPU的进程;
--top-io:最占用io的进程;
--top-mem:最占用内存的进程;
--top-lantency:延迟最大的进程;