Linux--系统性能分析命令备忘

来源:互联网 发布:js 新窗口打开页面 编辑:程序博客网 时间:2024/06/16 16:37

分析CPU,每5秒刷新一次

vmstat -n 5

展示列表含义:

   in -- 每秒产生的中断次数
   cs -- 每秒产生的上下文切换次数。
   这两个值越大,系统进程消耗的CPU的时间越大。
CPU
    us  -- 用户进程消耗CPU的时间百分比。长期居高不下, 就需要优化程序了。
    sy   -- 系统进程消耗CPU的时间百分比。 sy 值高, 并不是良性的表现。
    wa  -- IO等待消耗的CPU时间百分比, 值高时,说明IO等待比较严重, 可能由于磁盘大量随机访问造成, 也有可能磁盘出现瓶颈。
    id  -- CPU 处于空闲时间百分比。如果持续为0且出现sy 是us 两倍状况,则系统面临CPU资源短缺。当发生此问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU. 



sar命令分析性能

sar [options] [-A] [-o file] t [n]

参数

-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:内存和交换空间的使用统计。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-q:报告队列长度和系统平均负载
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。
-x { pid | SELF | ALL }:报告指定进程ID的统计信息,SELF关键字是sar进程本身的统计,ALL关键字是所有系统进程的统计

展示列表含义:

    %user:CPU处在用户模式下的时间百分比。
    %nice:CPU处在带NICE值的用户模式下的时间百分比。
 %system:CPU处在系统模式下的时间百分比。
 %iowait:CPU等待输入输出完成时间的百分比。
    %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
 %idle:CPU空闲时间百分比。
注意:
在所有的显示中,我们应主要注意%iowait和%idle,%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

用sar进行运行进程队列长度分析:

#sar -q 2 10
展示列表含义:
runq-sz 准备运行的进程运行队列。
plist-sz  进程队列里的进程和线程的数量
ldavg-1  前一分钟的系统平均负载(load average)
ldavg-5  前五分钟的系统平均负载(load average)
ldavg-15  前15分钟的系统平均负载(load average)

sar -P 进程的活动情况

00时00分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-1500时10分01秒         8       738      2.11      2.56      2.6800时20分01秒         1       698      2.71      3.84      3.3400时30分01秒         4       696      3.15      3.56      3.4400时40分01秒         9       705      2.58      2.54      2.8800时50分01秒        11       700      2.24      2.97      3.0401时00分01秒         4       695      1.97      2.67      2.7701时10分01秒         1       761      3.19      2.36      2.54
runq-sz:   运行队列的长度(等待运行的进程数)                                      
plist-sz:   进程列表中进程(processes)和线程(threads)的数量                     
ldavg-1:   最后1分钟的系统平均负载(System load average)                          
ldavg-5:   过去5分钟的系统平均负载                                                 
ldavg-15: 过去15分钟的系统平均负载

sar –b 查看I/O和传送速率的统计信息

00时00分01秒       tps      rtps      wtps   bread/s   bwrtn/s00时10分01秒     31.62      2.78     28.83     67.03   5484.4300时20分01秒     53.39      5.96     47.43    125.58   6520.4000时30分01秒     37.86      2.85     35.01     55.65   5833.6900时40分01秒     32.20      3.20     29.00     66.46   5444.7900时50分01秒     33.00      2.92     30.08     61.12   5707.2101时00分01秒     33.23      3.32     29.91     65.04   5681.8701时10分01秒     33.23      3.82     29.41     74.45   5490.65
tps:     每秒钟物理设备的 I/O 传输总量                    
rtps:    每秒钟从物理设备读入的数据总量                  
wtps:    每秒钟向物理设备写入的数据总量                  
bread/s: 每秒钟从物理设备读入的数据量,单位为 块/s    
bwrtn/s: 每秒钟向物理设备写入的数据量,单位为 块/s