进程列表查看,系统资源使用情况查看,比如CPU占用情况,内存使用情况,网络IO,硬盘IO等等。本文介绍的几款工具帮您实现。
进程是指运行中的程序的一个副本,进程的有关信息映射在/proc/#下,ps等工具通过加工/proc/下文件而显示出进程列表。
linux内核属于抢占式多任务式,内核将CPU处理时间按时间片分配给各个进程,这里有一个优先级的问题,优先级越高,最先被处理。
进程有140个队列,0~139。
1-99属于实时优先级,数字越大优先级越高;
100-139属于静态优先级,数字越小优先级越高,对应着nice值-19~20,可以调整nice值来改变进程优先级。
再来简单介绍进程状态:
1、运行态:running,正在运行的进程,或是等待运行在CPU队列上。
2、睡眠态:分为两种
(1)可中断:Interruptable,接受控制信号
(2)不可中断:Uninterruptable,不接受控制信号
3、停止态:stopped,暂停与内存中,除非手动调度。
4、僵死态:zombie,执行完毕的进程,等待释放资源。
一、ps命令
ps – 报告当前进程的快照。
ps命令接受3种风格的选项指定:
1、BSD风格,选项不带“-”
2、UNIX风格,选项带“-”
3、GNU风格,长选项“–”
1、BSD风格
选项
a:所有与终端相关的进程
x:所有与终端无关的进程
u:以用户为中心组织进程状态信息
o:指定显示字段
常用字段:pid,ni,psr,pcpu,pmem,priority,stat,comm
常用组合ps aux ,ps axo user,pid,comm
对第一行字段中
VSZ:占用的虚拟内存集大小
RSS:Resident Size,常驻内存集大小
STAT:进程状态
R:runing
S:interruptable sleeping
D:uninterruptable sleeping
T:stopped
Z:zombie
+:表示前台进程
s:session leader,拥有子进程
l:多线程的进程
N:低优先级进程
<:高优先级进程
L:在内存中有锁定的页
2、UNIX风格
选项
-e:显示所有进程
-f:显示完整格式
-F:显示更多字段
-o:自定义字段显示
-H:显示层级结构
常用组合:ps -ef,ps -efH,ps -eo pid,pcpu,comm
C:cpu占用百分比
二、top命令
top – 显示linux任务列表
动态方式提供运行系统视图,显示汇总信息及进程列表。
常用选项
-d # 指定刷新间隔时间
-b 以批次显示,用于输出
-n # 显示多少批次
-M/G 指定内存单位,默认为KB
$ top -M
load average:过去1分钟,5分钟,15分钟的平均负载,等待CPU队列长度。
Cpu一行:
us:用户空间
sy:系统空间
ni:nice进程
id:空闲进程
wa:等待io进程
hi:硬中断
si:软中断
st:steal,虚拟化占用的百分比
进程列表字段
VIRT:Virtual Image (kb),虚拟内存集
RES:Resident size (kb),常驻内存集
SHR:Shared Mem size (kb),共享内存集
交互按钮
1)排序
P:按占用cpu百分比排序
M:按占用内存排序
T:按累积占用cpu时间排序
R:反转排序次序
<,>:移动排序的字段
2)修改刷新时间:s
3)停止进程:k
4)退出:q
三、htop命令
htop类似与top工具,但是支持垂直和水平滚动,这样可以看到所有进程的信息。
另外使用htop需要从epel源安装。
用法:htop [-dChusv]
-d 刷新间隔,单位十分之一秒
-p pid… 查看指定pid列表
-u 查看指定用户的进程列表
快捷键F1~F10,帮助,设置,查询,过滤,树形结构,排序选择,nice值更改,停止进程,退出。
几项特别功能快捷键:
l:列出进程打开的文件列表
s:跟踪选定进程的系统调用
t:层级结构关系显示
a:绑定指定CPU
四、dstat命令
dstat – 用来生成系统资源统计数据的多功能工具,十分强大。
dstat可以取代vmstat,iostat,ifstat工具。dstat克服了一些老工具的短板问题,而且新加很多功能。
另外需要从epel源安装。
用法: dstat [-afv] [options..] [delay [count]]
选项:
-c 显示cpu统计
-C #,# 显示指定cpu统计。以下大写选项均类似。
-d 显示磁盘统计
-D sda
-n 显示网络统计(接收,发送)
-N eth0
-m 显示内存统计
-s 显示交互分区统计
-r 显示IO请求统计
-g 显示page相关速率统计(page in, page out)
-p 显示进程相关统计(runnable, uninterruptible, new)
-y 显示系统统计(interrupts, context switches)
默认选项为-cdngy
$ dstat
$ dstat -v #equals -pmgdsc -D total
长选项:
–fs 显示文件系统统计(open files, inodes)
–tcp 显示tcp统计(listen, established, syn, time_wait, close)
–udp 显示udp统计
–raw 显示裸套接字统计
–socket 显示套接字统计(total, tcp, udp, raw, ip-fragments)
插件:
dstat支持用户开发插件加入到dstat中,下面介绍一些实用插件
–freespace 文件系统使用量
–top-bio 最耗费块设备IO的进程
–top-io 最耗费IO的进程
–top-cpu 最耗费cpu的进程
–top-cputime 占用cpu时间最多的进程
–top-mem 最耗费内存的进程
–top-latency 延迟最大的进程
$ dstat --top-{io,bio,cpu,cputime,mem,latency}
原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/47395