您的位置:首页 > 运维架构 > Linux

CentOS系统资源监控软件四大软件htop,top,ps,dstat

2016-03-29 22:18 656 查看
CentOS系统资源监控软件四大软件
一、进程信息
关于进程的基础知识,用图来显示


二、ps命令
ps -报告系统进程运行时状态。
ps [选项]:
选项有三种风格:风格不一样写法不一样,有的加-,有的不加,比较特殊。
UNIX 风格选项, 可以组团选择,但必须以“-”开头
BSD 风格选项, 可以组团选择,但不能以“-”开头
GNU 风格选项, 必须以两个“-”开头
选项1:BSD风格选项
a:所有与终端相关的进程;
x:所有与终端无关的进程;
u:以用户为中心组织进程状态信息显示;
常用组合之一:aux
# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.1  19364  1588 ?        Ss   Mar28   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Mar28   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    Mar28   0:00 [migration/0]
root          4  0.0  0.0      0     0 ?        S    Mar28   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S    Mar28   0:00 [stopper/0]
root          6  0.0  0.0      0     0 ?        S    Mar28   0:00 [watchdog/0]
root          7  0.0  0.0      0     0 ?        S    Mar28   0:37 [events/0]
root          8  0.0  0.0      0     0 ?        S    Mar28   0:00 [cgroup]
root          9  0.0  0.0      0     0 ?        S    Mar28   0:00 [khelper]
... ...
显示结果字段:

%CPU:累计CPU时间比例;

%MEM:占总内存比例;

VSZ:虚拟内存集;
RSS:Resident Size,常驻内存集;不能被放到交换内存上的部分。
STAT:BSD风格
R:running or runnable
S:interruptable sleeping
D:uninterruptable sleeping
T:Stopped
Z:zombie
+:前台进程
l:多线程进程
N:低优先级进程
<:高优先级进程
s:session leader 会话主导进程
选项2:unix风格
-e:显示所有进程
-f:显示完整格式的进程信息
-F:显示完整格式的进程信息;
-H:以层级结构显示进程的相关信息;
常用组合之二:-ef
# ps -eF|head -10
UID         PID   PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root          1      0  0  4841  1588   0 Mar28 ?        00:00:01 /sbin/init
root          2      0  0     0     0   0 Mar28 ?        00:00:00 [kthreadd]
root          3      2  0     0     0   0 Mar28 ?        00:00:00 [migration/0]
root          4      2  0     0     0   0 Mar28 ?        00:00:00 [ksoftirqd/0]
root          5      2  0     0     0   0 Mar28 ?        00:00:00 [stopper/0]
root          6      2  0     0     0   0 Mar28 ?        00:00:00 [watchdog/0]
root          7      2  0     0     0   0 Mar28 ?        00:00:37 [events/0]
root          8      2  0     0     0   0 Mar28 ?        00:00:00 [cgroup]
root          9      2  0     0     0   0 Mar28 ?        00:00:00 [khelper]
显示结果字段分析
PSR:运行于哪颗CPU之上

C:cpu utilization
stime:启动时间
time:总时间
常用组合之三:-eFH

# ps -eFH |head -3
UID   PID   PPID  C    SZ   RSS PSR STIME TTY   TIME     CMD
root  2     0    0     0   0  0   3月22 ?    00:00:00 [kthreadd]
root  3     2    0     0   0  0   3月22 ?    00:00:10 [ksoftirqd/0]


常用组合之四:-eo, axo

-o field1, field2,...:自定义要显示的字段列表,以逗号分隔;
常用的field:pid, ni, pri, psr, pcpu, stat, comm, tty, ppid, rtprio
ni:nice值;
priority:priority, 优先级;
rtprio:real time priority,实时优先级;
# ps -eo pid,ppid,ni,priority,comm|head -10
PID   PPID  NI PRI COMMAND
1      0   0  20 init
2      0   0  20 kthreadd
3      2   - -100 migration/0
4      2   0  20 ksoftirqd/0
5      2   - -100 stopper/0
6      2   - -100 watchdog/0
7      2   0  20 events/0
8      2   0  20 cgroup
9      2   0  20 khelper
三、top命令:

top - display Linux tasks,动态排序的,默认以CPU排序

# top -n 1 -d 3
top - 06:38:09 up 11:19,  3 users,  load average: 0.00, 0.00, 0.00
Tasks: 149 total,   1 running, 148 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.0%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1004348k total,   901860k used,   102488k free,    54220k buffers
Swap:  2031612k total,        0k used,  2031612k free,   631540k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1 root      20   0 19364 1588 1268 S  0.0  0.2   0:01.95 init
2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd
3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0
4 root      20   0     0    0    0 S  0.0  0.0   0:00.30 ksoftirqd/0
5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 stopper/0
6 root      RT   0     0    0    0 S  0.0  0.0   0:00.33 watchdog/0
7 root      20   0     0    0    0 S  0.0  0.0   0:38.21 events/0
8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup
9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper
10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns
11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr
12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm
top - 21:25:19 up 2 days, 11:38,
2 users, # 在线用户
load average: 0.00, 0.00, 0.00 # 等待运行队列长度,长期单个CPU超过3,表明CPU不够用了
Tasks: 136 total,
1 running, 135 sleeping, 0 stopped, 0 zombie
Cpu(s):
0.0%us, #用户空间
0.3%sy, #系统空间
0.0%ni, #优先级用户运行比例
99.7%id, #空闲百分比
0.0%wa, #等待I/O时间
0.0%hi, #硬件中断时间
0.0%si, #软件中断时间
0.0%st #被偷走的时间---虚拟化偷走CPU时间
Mem: 1004348k total, 679264k used, 325084k free, 143004k buffers
Swap: 2031612k total, 0k used, 2031612k free, 222668k cached
首部信息调整:
uptime信息:l键开启或关闭显示
tasks及cpu信息:t键调整显示
内存信息:m键调整显示
CPU信息分CPU显示:1键开启或关闭显示

修改刷新时间间隔:秒为单位,默认为3s
终止指定的进程:k
退出命令:q

选项:
-d #:指定刷新时间间隔,默认为3秒;怎么退出?q
-b:以批次方式显示;
-n #:显示多少批次;
四、htop命令
top升级版,方便好用的top,额外安装
选项:
-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:显示CPU某个核心的相关信息
-d, --disk:显示磁盘的相关信息
-D sda,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:延迟最大的进程;

# dstat -dmnrs

-dsk/total- ------memory-usage----- -net/total- --io/total- ----swap---
read writ| used buff cach free| recv send| read writ| used free
5891B 18k| 273M 0 577M 128M| 0 0 |0.25 0.60 |1176k 1023M



本文出自 “深海鱼” 博客,请务必保留此出处http://kingslanding.blog.51cto.com/9130940/1758210
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: