pstree,ps,pgrep,pkill,pidof
top,htop
glance,pmap,
vmstat,dstat
kill
job,bg,fg,nohup
sar(内存),tsar,iosstat(磁盘IO),iftop(网络接口数据)
显示内容注释
[string] 后台的内核线程
1、线程内共享进程内存,共享打开文件描述符(文件内容)
2、线程是进程的子单位
3、调度、跟踪困难
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<code>USER: 进程用户</code>
<code>PID: 进程PID</code>
<code>%CPU: 运行占据CPU时间百分比</code>
<code>VSZ:虚拟内存集:可交换出的数据</code>
<code>RSS: 常驻内存集:不可交换出的数据</code>
<code>TTY: 通过哪个终端启动</code>
<code>STAT:进程状态</code>
<code> </code><code>R(Running),S(Interrupt Sleeping),D(uninterrupt Sleeping),T(Stopped),z(zombie)</code>
<code> </code><code>+,l + 前台,l后台</code>
<code> </code><code>N,< N:低优先级</code>
<code> </code><code>s 领导进程, </code>
<code>START: 进程启动时间</code>
<code>TIME: 进程运行过程占据CPU累积时长</code>
<code>COMMAND: 由什么命令启动的相关进程</code>
PR NI VIRT RES SHR S
<code>PR 优先级</code>
<code>NI Nice值</code>
<code>VIRT 相当于VRT </code>
<code>RES 相当于RSS</code>
<code>SHR shared </code>
<code>S STATE</code>
PPID PRI PSR RTPRIO
<code>ppid: 父进程</code><code>id</code><code>,0代表 天造地设</code>
<code>PRI: priority</code>
<code>PSR: 运行在哪个cpu上</code>
<code>rtprio: realtime priority 实时优先级</code>
<code>C cpu编号</code>
<code>top</code> <code>- 当前系统时间 up 运行时长, 用户数, 平均负载:过去1分钟,5分钟,15分钟</code>
<code> </code><code>平均负载:CPU队列中等待运行的进程数</code>
<code> </code>
<code>%Cpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.2 </code><code>id</code><code>, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st</code>
<code>所有CPU: user space, system space, </code><code>nice</code> <code>, idle , wait , hardware interrupt, software interrupt, stole</code>
<code>us: 用户空间占据cpu时间百分比</code>
<code>wa: 等待IO完成的时间。时间长建议换硬盘</code>
<code>st:被虚拟化技术偷走的时间</code>
1、pstree显示进程树
CentOS 7
<code>[root@izpo45bh60h6bsz ~]</code><code># pstree</code>
<code>systemd─┬─AliYunDun───13*[{AliYunDun}]</code>
CentOS 6
init(upstart)
CentOS 5
init
2、ps
System V 风格
ps option
a 与终端相关的进程
x 与终端无关的进程
u 与用户相关的进程
Z 安全标签
o 自定义显示格式
常用组合:
# ps aux
# ps axZ
# ps axo ppid,psr,ni,pri,rtprio,cmd
BSD风格
-e 相当于 ax
-f/-F 显示详细信息
-H hierarchy 层级结构显示
使用示例
System V
15
16
17
18
19
<code>[root@izpo45bh60h6bsz ~]# ps aux </code>
<code>USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND</code>
<code>[root@izpo45bh60h6bsz ~]# ps axZ </code>
<code>LABEL PID TTY STAT TIME COMMAND</code>
<code>[root@izpo45bh60h6bsz ~]# ps -ef </code>
<code>UID PID PPID C STIME TTY TIME CMD</code>
<code>[root@izpo45bh60h6bsz ~]# ps -eF </code>
<code>UID PID PPID C SZ RSS PSR STIME TTY TIME CMD</code>
<code>[root@izpo45bh60h6bsz ~]# ps -eFH | head -n </code><code>1</code>
<code>UID PID PPID C SZ RSS PSR STIME TTY TIME CMD</code>
<code>[root@izpo45bh60h6bsz ~]# ps -exo pid,ppid,ni,psr,pri,rtprio,time,cmd </code>
<code> </code><code>PID PPID NI PSR PRI RTPRIO TIME CMD</code>
3、pgrep,pkill
pgrep [option] pattern
pkill [option] pattern
-u euid 有效用户(suid的属主)
-U uid 真实用户
-t terminal 与指定终端相关的进程
-a 完整格式
-l 显示进程名
-P PPID 显示PPID的子进程列表
20
21
22
23
<code>[root@izpo45bh60h6bsz ~]# pgrep sshd</code>
<code>4472</code>
<code>10829</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep sshd -l</code>
<code>4472</code> <code>sshd</code>
<code>10829</code> <code>sshd</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep sshd -a</code>
<code>4472</code> <code>/usr/sbin/sshd -D</code>
<code>10829</code> <code>sshd: root@pts/</code><code>0</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep -P </code><code>4472</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep -t pts/</code><code>0</code>
<code>10831</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep -t pts/</code><code>0</code> <code>-l</code>
<code>10831</code> <code>bash</code>
<code>[root@izpo45bh60h6bsz ~]# pgrep -t pts/</code><code>0</code> <code>-a</code>
<code>10831</code> <code>-bash</code>
4、top命令
top option
-d 刷新时间间隔
-b 批次显示
-n # 显示多少批次 与-b连胜
<code>[root@izpo45bh60h6bsz ~]</code><code># top -d 0.0000000000000000000000000000000001</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># top -d 0.0000000000000000000000000000000001 -b</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># top -d 0.0000000000000000000000000000000001 -b -n 10</code>
排序
P %CPU 占据CPU百分比(过去几秒占据CPU百分比:几秒由刷新定义)
M %MEM
T TIME
显示
uptime: l
tasks及cpu: t
每个cpu: 1
Mem/Swap: m
修改
杀死: k
退出: q
修改刷新时间间隔: s
6、htop 交互式进程查看命令
Fedora-EPEL
获取帮助
F1
选定进程
s syscall
t tree ,层级结构显示
l 显示进程打开的文件
a 设置进程和cpu亲源性,进程只能运行在某个cpu上,增加缓存命中率
F6 > 以指定字段排序
<code>[root@izpo45bh60h6bsz ~]</code><code># dnf install htop</code>
7、vmstat命令 虚拟内存工具virtual memory state
vmstat [delay[count]]
delay 延迟几秒刷新一次
count 刷新几次
-p partiton
内存信息查看
vmstat -s
/proc/memoinfo
vmstat注释
<code>[root@izpo45bh60h6bsz ~]</code><code># vmstat</code>
<code>procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----</code>
<code> </code><code>r b swpd </code><code>free</code> <code>buff cache si so bi bo </code><code>in</code> <code>cs us sy </code><code>id</code> <code>wa st</code>
<code> </code><code>3 0 0 208496 37940 465952 0 0 21 8 107 256 0 0 99 0 0</code>
procs 进程
r running
b block
memory 内存
swpd 交换内存使用的总量
free 空闲物理内存总量
buff 内存中buff大小
cache 内存中cache大小
swap 交换分区
si 从物理内存加载至swap的速率
so 从swap加载至物理内存的速率
io
bi input 从磁盘加载至内存的速率(kb/s)
bo output 从内存加载至磁盘的速率
system 系统
in/int interrupt 中断,每秒多少个中断
cs context switch 进程上下文切换次数(保存现场和恢复现场的切换次数)
cpu
us user space
sy system space/kernel space
id idle
wa wait 等待IO完成的时间比率
st stole 被虚拟化技术偷走的比率
8、pmap报告内存映射表
pmap [-x|-p|-d|-q] pid
-x extend显示扩展格式
-p 显示映射的完整路径
-d 显示设备信息
-q 不显示首尾信息
查看内存映射表
/proc/PID/maps
pmap pid
线性内存地址和物理地址映射关系
进程只知道线性地址
1、进程将打开的文件存储在进程内存地址空间中,分段存储
2、进程划分的空间为4K的整数倍(内存页的大小为4K)
3、heap堆、stack栈、anon: anonymous 匿名页,进程自己存储数据的位置,不能交换出去
<code>Address Kbytes RSS Dirty Mode Mapping</code>
<code>00007ff5a8000000 164 12 12 rw--- [ anon ]</code>
<code>00007ff5a8029000 65372 0 0 ----- [ anon ]</code>
<code>00007ff5ac94d000 4 0 0 ----- [ anon ]</code>
<code>00007ff5ac94e000 8192 8 8 rw--- [ anon ]</code>
<code>00007ff5ad14e000 4 0 0 ----- [ anon ]</code>
<code>00007ff5ad14f000 8192 8 8 rw--- [ anon ]</code>
<code>00007ff5ad94f000 16 8 0 r-x-- libuuid.so.1.3.0</code>
<code>00007ff5ad953000 2044 0 0 ----- libuuid.so.1.3.0</code>
<code>00007ff5adb52000 4 4 4 r---- libuuid.so.1.3.0</code>
<code>00007ff5adb53000 4 4 4 rw--- libuuid.so.1.3.0</code>
<code>00007ff5adb54000 228 40 0 r-x-- libblkid.so.1.1.0</code>
<code>00007ff5adb8d000 2048 0 0 ----- libblkid.so.1.1.0</code>
<code>00007ff5add8d000 12 12 12 r---- libblkid.so.1.1.0</code>
<code>00007ff5add90000 4 4 4 rw--- libblkid.so.1.1.0</code>
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<code>1、默认</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># pmap 1 | head</code>
<code>1: </code><code>/usr/lib/systemd/systemd</code> <code>--switched-root --system --deserialize 21</code>
<code>00007ff5a8000000 164K rw--- [ anon ]</code>
<code>00007ff5a8029000 65372K ----- [ anon ]</code>
<code>00007ff5ac94d000 4K ----- [ anon ]</code>
<code>00007ff5ac94e000 8192K rw--- [ anon ]</code>
<code>00007ff5ad14e000 4K ----- [ anon ]</code>
<code>00007ff5ad14f000 8192K rw--- [ anon ]</code>
<code>00007ff5ad94f000 16K r-x-- libuuid.so.1.3.0</code>
<code>00007ff5ad953000 2044K ----- libuuid.so.1.3.0</code>
<code>00007ff5adb52000 4K r---- libuuid.so.1.3.0</code>
<code>2、显示详细</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># pmap -x 1 | head</code>
<code>3、静默</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># pmap -xq 1 | head</code>
<code>4、显示完整map</code>
<code>[root@izpo45bh60h6bsz ~]</code><code># pmap -xqp 1 | head</code>
<code>00007ff5ad94f000 16 8 0 r-x-- </code><code>/usr/lib64/libuuid</code><code>.so.1.3.0</code>
<code>00007ff5ad953000 2044 0 0 ----- </code><code>/usr/lib64/libuuid</code><code>.so.1.3.0</code>
<code>00007ff5adb52000 4 4 4 r---- </code><code>/usr/lib64/libuuid</code><code>.so.1.3.0</code>
9、glances命令
galances [options...]
-s -B IPADDR 服务端模式
-c IPADDR 客户端模式
b 以字节显示网络速率
m/n/d 控制mount,network,disk模块的显示
t # 延迟间隔
1 每个cpu信息单独显示
-f /path/to/somefile galance显示的结果保存至文件中
-o {HTML|CSV} 文件的格式
galance内建命令
<code> </code><code>a Sort processes automatically l Show</code><code>/hide</code> <code>logs</code>
<code> </code><code>c Sort processes by CPU% b Bytes or bits </code><code>for</code> <code>network I</code><code>/O</code>
<code> </code><code>m Sort processes by MEM% w Delete warning logs</code>
<code> </code><code>p Sort processes by name x Delete warning and critical logs</code>
<code> </code><code>i Sort processes by I</code><code>/O</code> <code>rate 1 Global CPU or per-CPU stats</code>
<code> </code><code>d Show</code><code>/hide</code> <code>disk I</code><code>/O</code> <code>stats h Show</code><code>/hide</code> <code>this help </code><code>screen</code>
<code> </code><code>f Show</code><code>/hide</code> <code>file</code> <code>system stats t View network I</code><code>/O</code> <code>as combination</code>
<code> </code><code>n Show</code><code>/hide</code> <code>network stats u View cumulative network I</code><code>/O</code>
<code> </code><code>s Show</code><code>/hide</code> <code>sensors stats q Quit (Esc and Ctrl-C also work)</code>
<code> </code><code>y Show</code><code>/hide</code> <code>hddtemp stats</code>
服务端
<code>[root@localhost ~]</code><code># glances -s -B 192.168.1.103 -p 8888 -P 1234</code>
<code>Glances server is running on 192.168.1.103:8888</code>
客户端
<code>[root@localhost ~]# glances -c </code><code>192.168</code><code>.</code><code>1.103</code> <code>-p </code><code>8888</code>
<code>Error: Connection to server failed. Bad password.</code>
<code>[root@localhost ~]# glances -c </code><code>192.168</code><code>.</code><code>1.103</code> <code>-p </code><code>8888</code> <code>-P </code><code>1234</code>
<code>[root@localhost ~]# </code>
<code>Connected to </code><code>192.168</code><code>.</code><code>1.103</code> <code>| Press </code><code>'h'</code> <code>for</code> <code>help</code>
10、dstat命令
vmstat替换工具
dstat options
-c/-C #,#,..,total
-d/-D total,/dev/sda,/dev/sdb,...
-g page显示内存数据交换的速率
-i 显示中断速率
-l --load 显示平均负载
-m,--mem 显示内存信息
-n,--net 显示网络信息
-p,--proc 进程状态
-r,--io 显示io相关的统计数据
-s,--swap 显示swap 相关的统计数据
-t,--time 时间输出
--aio 异步io
--fs,--filesystem 显示文件系统
--ipc (message queue(signal),semephores,shared memory)
--lock 文件锁
--socket (total,udp,tcp,raw,ip-fragment分片)
--tcp (listen,established,syn,time_wait,close)
--udp (listen,active)
--unix (datagram, stream, listen, active)
PLUGIN:
-a,相当于 -cdngy
--battery 电池
--battery-remain 电池剩余的时间(ACPI支持)
--disk-tps 磁盘每秒钟的事务量(need ACPI)
--mysql5-conn 对mysql运行命令的统计
--top-cpu 显示最消耗CPU的进程
--top-int 显示中断数据最大的进程
--top-io 最消耗IO的进程
--top-mem 最消耗内存的进程
--top-latency 显示延迟最大的进程
<code>----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--</code>
<code>usr sys idl wai hiq siq| read writ| recv send| </code><code>in</code> <code>out | </code><code>int</code> <code>csw </code>
<code>total-cpu-usage cpu使用状态</code>
<code>dsk/total 磁盘读写速率</code>
<code>net/total 网络的收发速率</code>
<code>paging 页面的换进换出(内存页面,交换内存。 si,so)</code>
<code>system 中断和上下文切换 (</code><code>int</code><code>: interrupt, csw: context swtich。 </code><code>in</code><code>,cs )</code>
1、cpu相关的信息
<code>[root@localhost ~]</code><code># dstat -c</code>
<code>----total-cpu-usage----</code>
<code>usr sys idl wai hiq siq</code>
<code>[root@localhost ~]</code><code># dstat -C total,0</code>
<code>Terminal width too small, trimming output.</code>
<code>----total-cpu-usage------------cpu0-usage------ -dsk</code><code>/total-</code> <code>-net</code><code>/total-</code> <code>---paging--></code>
<code>usr sys idl wai hiq siq:usr sys idl wai hiq siq| </code><code>read</code> <code>writ| recv send| </code><code>in</code> <code>out ></code>
2、硬盘相关
<code>[root@localhost ~]</code><code># dstat -d</code>
<code>-dsk</code><code>/total-</code>
<code>read</code> <code>writ </code>
<code>[root@localhost ~]</code><code># dstat -D total,/dev/sda</code>
<code>----total-cpu-usage---- -dsk</code><code>/total----dsk/sda--</code> <code>-net</code><code>/total-</code> <code>---paging-- ---system--</code>
<code>usr sys idl wai hiq siq| </code><code>read</code> <code>writ: </code><code>read</code> <code>writ| recv send| </code><code>in</code> <code>out | int csw</code>
3、页面
<code>[root@localhost ~]# dstat -g</code>
<code>---paging--</code>
4、显示中断
<code>[root@localhost ~]</code><code># dstat -i</code>
<code>----interrupts---</code>
5、平均负载
<code>[root@localhost ~]# dstat -l</code>
<code>---load-avg---</code>
<code> </code><code>1m 5m 15m</code>
6、内存
<code>[root@localhost ~]</code><code># dstat -m</code>
<code>------memory-usage-----</code>
<code> </code><code>used buff cach </code><code>free</code>
7、网络
<code>[root@localhost ~]</code><code># dstat -n</code>
<code>-net</code><code>/total-</code>
<code> </code><code>recv send</code>
8、进程
<code> </code><code>---procs---</code>
<code>run blk new</code>
<code> </code><code>run 运行进程的数据</code>
<code> </code><code>new 创建新进程的数据</code>
9、io
<code>[root@localhost ~]</code><code># dstat -r</code>
<code>--io</code><code>/total-</code>
<code> </code><code>read</code> <code>writ</code>
10、swap
<code>[root@localhost ~]</code><code># dstat -s</code>
<code>----swap---</code>
<code> </code><code>used </code><code>free</code>
11、时间
<code>[root@localhost ~]</code><code># dstat -t</code>
<code>----system----</code>
<code> </code><code>date</code><code>/time</code>
12、异步IO
<code>[root@localhost ~]</code><code># dstat --aio</code>
<code>async</code>
<code> </code><code>#aio</code>
13、文件系统
<code>[root@localhost ~]</code><code># dstat --fs</code>
<code>--filesystem-</code>
<code>files inodes</code>
14、进程通信
<code>[root@localhost ~]</code><code># dstat --ipc</code>
<code>--sysv-ipc-</code>
<code>msg sem shm</code>
15、文件锁
<code>[root@localhost ~]</code><code># dstat --lock</code>
<code>---</code><code>file</code><code>-locks--</code>
<code>pos lck rea wri</code>
16、套接字
<code>[root@localhost ~]</code><code># dstat --socket</code>
<code>------sockets------</code>
<code>tot tcp udp raw frg</code>
17、tcp连接
<code>[root@localhost ~]</code><code># dstat --tcp</code>
<code>----tcp-sockets----</code>
<code>lis act syn tim clo</code>
18、udp连接
<code>[root@localhost ~]</code><code># dstat --udp</code>
<code>--udp--</code>
<code>lis act</code>
19、unix连接
<code>[root@localhost ~]</code><code># dstat --unix</code>
<code>--unix-sockets-</code>
<code>dgm str lis act</code>
20、-a
<code>[root@localhost ~]</code><code># dstat -a 1 1</code>
<code>----total-cpu-usage---- -dsk</code><code>/total-</code> <code>-net</code><code>/total-</code> <code>---paging-- ---system--</code>
<code>usr sys idl wai hiq siq| </code><code>read</code> <code>writ| recv send| </code><code>in</code> <code>out | int csw</code>
<code>[root@localhost ~]</code><code># dstat --disk-util</code>
<code>sda-</code>
<code>util</code>
22、文件系统空闲
<code>[root@localhost ~]</code><code># dstat --freespace</code>
<code>-----</code><code>/----------/shm-------/boot-------/home--------/usr--------/var---</code>
<code> </code><code>used </code><code>free</code><code>: used </code><code>free</code><code>: used </code><code>free</code><code>: used </code><code>free</code><code>: used </code><code>free</code><code>: used </code><code>free</code>
<code>3101M 44.9G: 0 121M:57.4M 419M: 260M 4534M:2091M 12.3G: 714M 9001M</code>
23、插件注释
<code>[root@localhost ~]</code><code># dstat --helloworld</code>
<code>plugin-title</code>
<code> </code><code>counter </code>
<code>Hello world!</code>
24、最消耗cpu进程
<code>[root@izpo45bh60h6bsz ~]</code><code># dstat --top-cpu</code>
<code>-most-expensive-</code>
<code> </code><code>cpu process </code>
<code>AliYunDun 0.2</code>
<code>aliyun-servic1.0</code>
25、中断次数最多
<code>[root@izpo45bh60h6bsz ~]</code><code># dstat --top-in</code>
<code>---most-frequent----</code>
<code> </code><code>interrupt </code>
<code>ata_piix 1 </code>
<code>virtio0-input.0 1</code>
26、io次数
<code>----most-expensive----</code>
<code> </code><code>i</code><code>/o</code> <code>process </code>
<code>systemd 29k 10k</code>
<code>sshd: root@ 146B 196B</code>
27、内存消耗最大
<code>[root@izpo45bh60h6bsz ~]# dstat --top-mem</code>
<code>--most-expensive-</code>
<code> </code><code>memory process </code>
<code>mysqld 123M</code>
28、延迟最大的进程
<code>[root@izpo45bh60h6bsz ~]</code><code># dstat --top-latency</code>
<code>--highest-total--</code>
<code> </code><code>latency process </code>
<code>rcu_sched 882</code>
11、kill命令
查看信号:
kill -l
man 7 signal
SIGHUP: 不关闭进程重读配置文件。服务程序
SIGINT: 终止信号(interrupt) 相当于 Ctrl + c
SIGKILL: 杀死正在运行的进程 ,直接终止,
SIGTERM: 终止指定的进程(优雅) ,处理的数据存回磁盘中,再终止
SIGCONT 让停止态的信号,continue
SIGSTOP 让运行中的进程,stop
SIGNAL:
1、全名 SIGHUP
2、简名 HUP
3、数字标识 1
发信号
kill -SIGNAL pid
killall -SIGNAL 进程名
12、作业
jobs一个任务可能包含单个进程也可能包含多个进程
前台作业:与终端相关,占据命令提示符
后台作业:与终端相关,不占据命令提示符
送到后台剥离与终端关系: # nohup COMMMAND &
作业送到后台:
运行中的程序:Ctrl + z
尚未启动的程序:COMMAND &
查看作业: # jobs
+ 没有作业号,默认管理的作业
- 下一个
[#]作业号
作业管理
送到前台: fg [[%]JOB_NUM]
送到后台: bg [[%]JOB_NUM]
终止作业: kill -SIGNAL %JOB)NUM
13、nice值
动态优先级:进程消耗过多的cpu资源时,内核自动调整,
静态优先级: 100-139 (数据越小,优先级越高)
实时优先级: 0-99 (数字越大,优先级越高)
进程默认启动优先级120,nice值为 0
nice [-n # ] command
-n # 启动后以#值作为Nice值运行,不给-n #,默认nice=10
renice -n # command
-n # 重新设置优先级
查看nice值: # ps axo pid,command,ni
14、sar,tsar,iosar,iftop
sar
-u cpu
-d disk
-B 交换页数据
-b 报告I\O传输速率
详解:-B
pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s
pgpgin/s 物理内存到磁盘swap
fault 缺页异常发生的速率
majflt/s major faults
pgfree/s page free place on
pgscank/s kswapd daemon scan pages
pgscnd/s page scan directly
pgsteal/s page reclaimed from cache(pagecache and swap-cache)
详解: -u 报告cpu使用率
CPU %user %nice %system %iowait %steal %idle
详解: -b
tps rtps wtps bread/s bwrtn/s
t 总传输
rtps 读传输
wtps 写传输
bread/s 从块读
bwrtn/s 写到块
tsar
iostat
Report Central Processing Unit (CPU) statistics and input/output statistics
for devices and partitions.
Central Processing Unit (CPU) 中央处理单元cpu
statistics 统计数据
for prep.为,为了;倾向于;关于;当作
为设备和分区报告CPU,I/O统计数据
iostat [-u | -d | -h | -k | -m]
-u cpu
-d disk
-h human readable
-k KB
-m MB
-N LVM2统计数据
CPU Utilization Report(Utilization 利用率)
%user 运行用户级别/用户空间的进程CPU利用率百分比
%nice nice priority占据CPU利用百分比
%system system level(kernel)
%iowait 系统有突出IO时,CPU空闲百分比。进程等待IO的百分比
%steal 被虚拟化技术偷走的时间
%idle CPU空闲和系统无IO所占时间百分比
Device Utilization Report
Device 显示dev目录下的设备或Partition名
tps 显示每秒IO请求传输至设备的数量,IO请求可以是单个,或多个IO请求组合成单个,大小不确定
kB_read/s 每秒从块或扇区读取数据量
kB_wrtn/s 每秒写
kB_read 总读
kB_wrtn 总写
rrqm/s queued to device read request merged 合并读请求队列的速率
wrqm/s 合并写请求速率
iftop
1)获取命令的信息 命令行模式显示网络接口带宽统计数据“为什么我的ADSL连接如此慢”
<code>[root@izpo45bh60h6bsz ~]# dnf info iftop</code>
<code>Using metadata from Wed Aug </code><code>23</code> <code>00</code><code>:</code><code>36</code><code>:</code><code>04</code> <code>2017</code>
<code>可安装的软件包</code>
<code>名称 : iftop</code>
<code>架构 : x86_64</code>
<code>时期 : </code><code>0</code>
<code>版本 : </code><code>1.0</code>
<code>发布 : </code><code>0.14</code><code>.pre4.el7</code>
<code>大小 : </code><code>52</code> <code>k</code>
<code>仓库 : epel</code>
<code>概要 : Command line tool that displays bandwidth usage on an </code><code>interface</code>
<code>URL : http:</code><code>//www.ex-parrot.com/~pdw/iftop/</code>
<code>协议 : GPLv2+</code>
<code>描述 : iftop does </code><code>for</code> <code>network usage what top(</code><code>1</code><code>) does </code><code>for</code> <code>CPU usage. It listens to</code>
<code> </code><code>: network traffic on a named </code><code>interface</code> <code>and displays a table of current bandwidth</code>
<code> </code><code>: usage by pairs of hosts. Handy </code><code>for</code> <code>answering the question "why </code><code>is</code> <code>our ADSL link</code>
<code> </code><code>: so slow?".</code>
2)安装包
<code>[root@izpo45bh60h6bsz ~]</code><code># dnf install iftop</code>
3)获取帮助
# man iftop 显示主机接口之上的网络带宽使用情况
iftop -h | [-nNpblBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]
默认情况会反解主机名,-n选项或运行中使用r命令关闭dns反解
默认会显示通过过滤器的所有IP包,IP包的方向是通过接口的方向
-F NETWORK 显示给定网络输入或输出的数据包
忽略广播数据包: not ether host ff:ff:ff:ff:ff:ff
过滤仅显示web数据包,排除:port http and not host webcache.example.com
用户浪费了多少带宽弄清楚网络如此慢:icmp
-h 获取帮助
-n 不从IP包中反解主机名
-N 不反解端口号
-p promise模式,流量不经过此接口也会统计
-P 打开端口显示
-b bar开关
-m #[km] 仅显示由#指定的宽带比例上限对应的数据包
-i IFACE 指监听接口
-f filter code 过滤
-F net/mask 过滤仅显示什么ip的数据包,包的方向由网络边界决定
-c config_file 给出一个临时配置文件,默认 ~/.iftoprc
内建命令
S ,D , P ,p ,n ,N
<code>Host display: General:</code>
<code> </code><code>n - toggle DNS host resolution P - pause display</code>
<code> </code><code>s - toggle show source host h - toggle </code><code>this</code> <code>help display</code>
<code> </code><code>d - toggle show destination host b - toggle bar graph display</code>
<code> </code><code>t - (revice,sent,two line,one line) B - cycle bar graph average</code>
<code> </code><code>T - toggle cumulative line totals</code>
<code>Port display: j/k - scroll display</code>
<code> </code><code>N - toggle service resolution f - edit filter code</code>
<code> </code><code>S - toggle show source port l - </code><code>set</code> <code>screen filter</code>
<code> </code><code>D - toggle show destination port L - lin/log scales</code>
<code> </code><code>p - toggle port display ! - shell command</code>
<code> </code><code>q - quit</code>
<code>Sorting:</code>
<code> </code><code>1</code><code>/</code><code>2</code><code>/</code><code>3</code> <code>- sort by 1st/2nd/3rd column</code>
<code> </code><code>< - sort by source name</code>
<code> </code><code>> - sort by dest name</code>
<code> </code><code>o - freeze current order</code>
显示注释
<code>每个字段</code><code>10</code><code>秒平均流量显示</code>
<code>foo.example.com => bar.example.com 1Kb 500b 100b</code>
<code>流量从 foo.example.com 到 bar.example.com</code>
<code>1Kb 前</code><code>2</code><code>秒数据被接收或发送的速率</code>
<code>500b 前</code><code>10</code><code>秒</code>
<code>100b 前</code><code>40</code><code>秒</code>
<code>过滤后的总传输流量</code>
<code>最近40s高峰流量</code>
<code>过去2s,10s,40s部传输速率</code>
<code></code>
本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1958550,如需转载请自行联系原作者