要对进程进行监测和控 制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
PS命令使用:
1、ps命令:进程状态查看命令
/proc/:内核中的状态信息;
(1)、内核参数:
调用参数:设置其值从而调整内核运行特性的参数;/proc/sys/
状态变量:其用于输出内核中统计信息或状态信息,仅用于查看;
(2)、参数:模拟成文件系统类型;
(3)、进程:
/proc/#:
#:PID 进程号 PID TTY TIME CMD
3004 pts/0 00:00:00 bash
3783 pts/0 00:00:00 ps
ps- report a snapshot of the current processes.
2、语法及参数:
(1)、语法格式: ps [options]:选项有三种风格:
1)、UNIX options, which may be grouped and mustbe preceded by a dash.
必须加 -符号
2)、BSD options, which may be grouped and mustnot be used with a dash.
不用加 -符号
3)、GNU long options, which are preceded by twodashes.
加两个 -符号
(2)、启动进程的方式:
系统启动过程中自动启动:与终端无关的进程;守护进程
用户通过终端启动:与终端相关的进程;前台进程
(3)、选项:
a:所有与终端相关的进程;
x:所有与终端无关的进程;
u:以用户为中心组织进程状态信息显示;
常用组合之一:aux
VSZ:虚拟内存集;
RSS:Resident Size,常驻内存集;
STAT:
R:running 正在运行
S:interruptable sleeping 可中断睡眠
D:uninterruptable sleeping不可中断睡眠
T:Stopped停止 相当于Crtl+C
Z:zombie[‘zmb] 僵尸模式
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader 引导进程
-e:显示所有进程
-f:显示完整格式的进程信息
常用组合之二:-ef
-F:显示完整格式的进程信息;
C: cpu utilization CPU利用率
PSR:运行于哪颗CPU之上
-H:以层级结构显示进程的相关信息;
o field1, field2,...:自定义要显示的字段列表,以逗号分隔;注:o必须在后面,因为要加文件
常用的field:pid,ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio
常用组合之四:-eo,axo
ni:nice值;
priority:priority,优先级;
rtprio:realtime priority,实时优先级;
进程管理类命令TOP/HTOP/dstat使用:
1、top命令:
-display Linux processes
(1)、排序:
P:以占据CPU百分比排序;默认下就是
M:以占据内存百分比排序;
T:累积占用CPU时间排序;
(2)、首部信息:
uptime信息:l命令 现在时间,开机时间几个用户 负载均衡(后三组数)
tasks及cpu信息:t命令:分别是us用户占用百分比,sy内核空间占用百分比,ni改变过的优先,id空闲CPU百分比,
wa IO等待占用CPU的百分比,hi硬中断占用百分比,si软中断,st偷时间(浪费的CPU,此值过大,说明CPU消耗过高,负载跟不上了),
内存信息:m命令 total 物理内存总量 ,free 空闲内存,used使用内存,buff/cache缓冲区和调整缓存
swap项与上同
退出命令:q
修改刷新时间间隔:s 默认是3秒
终止指定的进程:k
(3)、选项:
-d#:指定刷新时间间隔,默认为3秒;
-b:以批次方式显示;
-n#:显示多少批次;
uptime命令:显示系统时间、运行时长及平均负载;
过去1分钟、5分钟和15分钟的平均负载;
等待运行的进程队列的长度;
(2)、htop命令:
1)、选项:
-d#:指定延迟时间间隔;
htop -d 3
-u UserName:仅显示指定用户的进程; htop -u root
-sCOLUME:以指定字段进行排序;
2)、子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用; 选定一个进程按s查看
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;
晕,虚拟机只设了一个CPU,没做实验,也是在htop界面,点一个进程,按a
3、dstat命令:
-versatile tool for generating system resource statistics
dstat [-afv] [options..] [delay [count]]
常用选项:
-c,--cpu:显示cpu相关信息;
-C#,#,...,total
-d,--disk:显示磁盘的相关信息
-Dsda,sdb,...,tobal
-g:显示page相关的速率数据;(内存页框)
-m:Memory的相关统计数据
-n:Interface的相关统计数据;
-p:显示process的相关统计数据;
-r:显示io请求的相关的统计数据;
-s:显示swapped的相关统计数据;
--tcp
--udp
--raw
--socket
--ipc
--top-cpu:显示最占用CPU的进程;
--top-io:最占用io的进程;
--top-mem:最占用内存的进程;
--top-lantency:延迟最大的进程;
htop/dstat/top/ps命令的使用(一堆图片,累死我了)
原文地址:http://liguoqing.blog.51cto.com/327222/1730484