linux下运维必备的性能分析工具总结


linux下运维必备的性能分析工具总结
 
性能分析工具总结:
1、  vmstat :对操作系统的内存信息、进程、CPU进行监视分析
#vmstat 2 3 每二秒更新输出一次,统计3次后停止。
[root@MYDB1 ~]# vmstat 2 3
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 170688 171224 464808    0    0     0     1   14    7  0  0 100  0  0
 0  0      0 170680 171224 464828    0    0     0     0   12   36  0  0 100  0  0
 0  0      0 170680 171224 464828    0    0     0     0   13   37  0  0 100  0  0 
Procs: r CPU时间片的进程数;b等待资源的进程数。
Memory:swpd 内存交换区的大小,只要si,so长期为0,就不影响。Free空闲的物理内存;buff 内存缓冲区;cache缓存,只要bi小就正常。
swap: si 磁盘调入内存;so内存调入磁盘,so与si长期多的话,说明需要增加内存了。
IO:磁盘读写状态;bi从设备读入的总量;bo写入设备的总量,bi+bo参考值为1000,超过就是IO有问题了。
System:采集间隔内发生的中断数。In每秒中断数;cs每秒产生的上下文切换次数,这二个值班越大,内核消耗CPU时间越多。
Cpu: us 进程消耗CPU的时间比,值越高,消耗的CPU时间越多,长期大于50%,需要优化程或算法;sy内核消耗CPU的时间比。Us+sy大于80%时,说明CPU资源不足。Id CPU空闲时间比;wa是IO等待占用CPU时间比,wa越高,说明IO越严重。Wa参考值为20%,长期大于20%说明IO问题严重。
2、  sar 可以获取系统的CPU、运行队列、磁盘IO、分页(交换区)、内存、CPU中断、网络等。
#sar –u 3 2  每三秒统计一次,统计2次
[root@MYDB1 ~]# sar -n DEV 3 2
Linux 2.6.32-279.19.1.el6.x86_64 (MYDB1)        03/09/13        _x86_64_        (1 CPU)
18:00:50        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
18:00:53           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
18:00:53         eth0      4.00      0.00      0.29      0.00      0.00      0.00      0.00
18:00:53         eth1      0.33      0.00      0.02      0.00      0.00      0.00      0.00
18:00:53        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
18:00:56           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
18:00:56         eth0      2.66      0.33      0.21      0.15      0.00      0.00      0.00
18:00:56         eth1      0.66      0.00      0.04      0.00      0.00      0.00      0.00
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      3.33      0.17      0.25      0.08      0.00      0.00      0.00
Average:         eth1      0.50      0.00      0.03      0.00      0.00      0.00      0.00
参数:-A 所有设备;-u所有CPU;-P指定的CPU;-d硬盘;-r内存采样;-b内存缓冲区采样;-v进程、文件、节点和锁表状态;-n网络;-q队列;-R进程;-y终端设备;-W系统交换 –o filename 将命令结果以二进制格式放在文件中;
3、  iostat(需要安装Sysstat),主要针对磁盘IO磁盘监视。
#Iostat –d 2 3
[root@MYDB1 ~]# iostat -d 2 3
Linux 2.6.32-279.19.1.el6.x86_64 (MYDB1)        03/09/13        _x86_64_        (1 CPU)
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.16         0.19         2.28     531210    6494604
dm-0              0.29         0.18         2.28     522090    6494552
dm-1              0.00         0.00         0.00       2376          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
Blk_read/s:每秒读取的数据块数
Blk_wrtn/s每秒写入的数据块数
Blk_read 读取的所有块数
Blk_wrtn 写入的所有块数
参数:-c 显示CPU的使用情况;-d磁盘;-k以KB这单位;-t打印开始执行时间;-x device 按磁盘名称统计。
4、  free  内存监控
#free –m (以M为单位)
[root@MYDB1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           995        829        166          0        167        453
-/+ buffers/cache:        208        787
Swap:         2015          0       2015
经验值:应用可用的内存/系统物理内存>70%,说明性能优良,<20%是,资源紧缺,需要增加内存。在这二个数之间,算正常。
5、  uptime
#uptime
[root@MYDB1 ~]# uptime
 18:17:59 up 33 days,  3:30,  3 users,  load average: 0.00, 0.00, 0.00
系统时间、开机运行时间、登录用户数、1分钟内、5分钟内、15分钟内平均负载。
Load average一般不能大于CPU的个数,长期大于的话,说明CPU很忙,需要优化程序或者增加CPU。
6、  netstat:网络连接、运行端口、路由表等
#netstat –i
[root@MYDB1 ~]# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0  5295771      0      0      0   114725      0      0      0 BMRU
参数:-a 所有的连接与端口;-n有效的连接与端口;-r 路由表;-s按协议的统计;-v与n类似;-t TCP协议;-u UDP协议;- I 自动配置的接口状态;-l LISTEN状态;-p对应的PID进程,-c按秒。
Iface:接口名称
MTU:最大传输单元,单位字节
RX-OK/TX-OK:正确无误的数据包
RX-ERR/TX-ERR:产生的错误
RX-DRP/TX-DRP:丢弃的包
RX-OVR/TX-OVR:误差遗失的包
错误、丢弃、遗失的包越大,网络问题越大。
7、  top
#top
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                        
    1 root      20   0 19228 1520 1232 S  0.0  0.1   0:07.49 init                                           
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kthreadd                                       
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0 
参数:-d 时间间隔;-I不显示死的或闲的进程;-c 整个命令路径;-s安全模式运行;-b分屏输出,可与-n结合输出到文档;-n输出的次数,完成后退出。
PR:优先级
NI:nice值,负值班优先级高,正的相反
VIRT:使用的虚拟内存总量,单位KB
RES:占用的内存,单位KB
SHR:共享内存大小,单位KB
TIME+:使用的CPU时间总计,单位1/100秒
COMMAND:命令名或者路径

相关内容

    暂无相关文章