TOP参数解释
第一行 分别显示:系统当前时间 系统运行时间 当前用户登陆数 系统负载。
系统负载(load average),这里有三个数值,分别是系统最近1分钟,5分钟,15分钟的平均负载。一般对于单个处理器来说,负载在0 — 1.00 之间是正常的,超过1.00就要引起注意了。在多核处理器中,你的系统均值不应该高于处理器核心的总数。
第二行 分别显示:total进程总数、 running正在运行的进程数、 sleeping睡眠的进程数、stopped停止的进程数、 zombie僵尸进程数。
第三行
分别显示:
%us用户空间占用CPU百分比、
%sy内核空间占用CPU百分比、
%ni用户进程空间内改变过优先级的进程占用CPU百分比、
%id空闲CPU百分比、
%wa等待输入输出(I/O)的CPU时间百分比 、
%hi指的是cpu处理硬件中断的时间、%si指的是cpu处理软中断的时间 、
%st用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间。
通常id%值可以反映一个系统cpu的闲忙程度。
第四行 MEM :total 物理内存总量、 used 使用的物理内存总量、free 空闲内存总量、 buffers 用作内核缓存的内存量。
第五行 SWAP:total 交换区总量、 used使用的交换区总量、free 空闲交换区总量、 cached缓冲的交换区总量。
buffers和cached的区别需要说明一下,buffers指的是块设备的读写缓冲区,cached指的是文件系统本身的页面缓存。它们都是linux操作系统底层的机制,目的就是为了加速对磁盘的访问。
第六行 PID(进程号)、 USER(运行用户)、PR(优先级)、NI(任务nice值)、VIRT(虚拟内存用量)VIRT=SWAP+RES 、RES(物理内存用量)、SHR(共享内存用量)、S(进程状态)、%CPU(CPU占用比)、%MEM(物理内存占用比)、TIME+(累计CPU占 用时间)、 COMMAND 命令名/命令行。
下面简单介绍top命令的使用方法:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
运维必会!
参数说明
d指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p通过指定监控进程ID来仅仅监控某个进程的状态。
q该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S指定累计模式。
s使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i使top不显示任何闲置或者僵死进程。
c显示整个命令行而不只是显示命令名。
下面介绍在top命令执行过程中可以使用的一些交互命令
从使用角度来看,熟练的掌握这些命令比掌握选项还重要一些。
这些命令都是单字母的,如果在命令行选项中使用了s选项,则可能其中一些命令会被屏蔽掉。
Ctrl+L 擦除并且重写屏幕。
h或者? 显示帮助画面,给出一些简短的命令总结说明。
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。
W 将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
Shift+M 可按内存占用情况进行排序。
sysstat 说明
[root@www ~]# yum install sysstat -y
[root@www ~]# vmstat --help
usage: vmstat [-V] [-n] [delay [count]]
-V prints version.
-n causes the headers not to be reprinted regularly.
-a print inactive/active page stats.
-d prints disk statistics
-D prints disk table
-p prints disk partition statistics
-s prints vm table
-m prints slabinfo
-t add timestamp to output
-S unit size
delay is the delay between updates in seconds.
unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
count is the number of updates.12345678910111213141516
例子:每隔1秒获取1次,次数不限
[root@www ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 547332 177544 535336 0 0 1 6 5 41 1 0 98 0 0
0 0 0 547324 177544 535336 0 0 0 0 210 445 1 0 99 0 0
0 0 0 547324 177544 535336 0 0 0 0 195 435 0 0 100 0 0
0 0 0 547324 177544 535336 0 0 0 0 208 440 1 0 99 0 0
0 0 0 547332 177544 535336 0 0 0 0 209 446 0 0 100 0 0
0 0 0 547332 177544 535336 0 0 0 0 207 442 1 1 98 0 0
0 0 0 547332 177544 535336 0 0 0 0 201 438 0 0 100 0 0
^C1234567891011
#r表示CPU排队的情况,b代表 进程堵塞,等待io
每隔1秒获取1次,次数10次
[root@www ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 547340 177544 535344 0 0 1 6 5 41 1 0 98 0 0
0 0 0 547332 177544 535344 0 0 0 28 210 453 1 1 97 1 0
0 0 0 547332 177544 535344 0 0 0 0 200 433 0 0 100 0 0
0 0 0 547332 177544 535344 0 0 0 0 211 445 1 0 99 0 0
0 0 0 547332 177544 535344 0 0 0 0 201 439 0 1 99 0 0
0 0 0 547332 177544 535344 0 0 0 0 197 436 0 0 100 0 0
0 0 0 547332 177544 535344 0 0 0 0 201 442 1 0 99 0 0
0 0 0 547324 177544 535348 0 0 0 0 240 484 2 1 97 0 0
0 0 0 547324 177544 535348 0 0 0 0 203 438 0 0 100 0 0
0 0 0 547324 177544 535348 0 0 0 0 197 430 1 0 99 0 0 12345678910111213
mpstat
查看所有CPU的平均值
[root@www ~]# mpstat 1
Linux 2.6.32-431.23.3.el6.x86_64 (www) 08/30/2016 _x86_64_ (1 CPU)
05:13:22 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
05:13:23 PM all 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00
105:13:24 PM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
05:13:25 PM all 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 97.00
05:13:26 PM all 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.00
^C12345678
不解释——————————
[root@www ~]# mpstat 1 10
Linux 2.6.32-431.23.3.el6.x86_64 (www) 08/30/2016 _x86_64_ (1 CPU)
05:13:38 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
05:13:39 PM all 2.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.00
05:13:40 PM all 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 99.00
05:13:41 PM all 1.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 98.99
.................1234567
上述是CPU监控,CPU监控主要靠经验。因为业务不同指标不同,指标越低越好是不变的道理
内存硬盘监控:
硬盘格式化后分成块(blog)
内存默认是页(大小4kb)读取按照页来进行读取
内存:free vmstat
[root@www ~]# free -m
total used free shared buffers cached
Mem: 1875 1338 537 0 173 523
-/+ buffers/cache: 640 1234
Swap: 0 0 0
提示:云主机是没有Swap分区的123456
total 总内存
used 已使用内存
free 空闲内存
shared 共享内存(进程间相互通信使用共享内存)
buffers 缓冲
cached 缓存
Centos7 会有一个available,活动内存
#云服务器一般不分配swap分区,物理机能不使用交换分区就不使用交换分区
vmstat命令
[root@www ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 550628 177684 536324 0 0 1 6 7 46 1 0 98 0 0
0 0 0 550620 177684 536324 0 0 0 40 187 429 0 0 100 0 0
0 0 0 550620 177684 536324 0 0 0 0 183 427 1 0 99 0 0
0 0 0 550620 177684 536324 0 0 0 0 197 436 0 1 99 0 01234567
swpd交换分区的大小
free可用的物理内存大小
buff 缓冲区的大小
cache 缓存区的大小
si 数据从交换分区读取到内存的大小
so 数据从内存到交换分区
bi 从交换分区读到内存(block)
bo 内存写到硬盘的
内存达到多少报警呢? 80%
1
正常是一个进程启动后会一直往上升,最后到达一个平稳期
硬盘:IOPS IO’s Per Second iotop df -h iostat
顺序IO(快)
随机IO(慢)
查看磁盘剩余空间
[root@www ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 4.1G 34G 11% /
tmpfs 938M 0 938M 0% /dev/shm1234
监控磁盘IO iotop
[root@www ~]# yum install iotop -y1
iotop
可以使用dd命令生成一个文件夹进行测试
生成命令如下:
[root@www ~]# dd if=/dev/zero of=/tmp/1.txt bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 20.509 s, 51.1 MB/s
[root@www ~]# ls -lh /tmp/1.txt
-rw-r--r-- 1 root root 1000M Aug 30 19:48 /tmp/1.txt123456
此时IO写入如下图
iostat命令,可以看到那块磁盘,比iotop更加细致
[root@www ~]# iostat 1 2
Linux 2.6.32-431.23.3.el6.x86_64 (www) 08/30/2016 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.10 0.00 0.27 0.16 0.00 98.46
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
xvda 1.51 2.26 17.09 986748 7467560
avg-cpu: %user %nice %system %iowait %steal %idle
1.02 0.00 0.00 0.00 0.00 98.98
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
xvda 0.00 0.00 0.00 0 012345678910
tps 设备每秒的传输次数(每秒多少的io请求)
Blk_read/s 每秒从设备读取的数据量
Blk_wrtn/s 每秒像设备写入的数据量
Blk_read 写入数据的总数
Blk_wrtn 读取数据的总数
No comments:
Post a Comment