linux_性能密令诊断

上一篇 / 下一篇  2012-10-18 16:17:55

操作系统类型监控的资源命令命令说明参数说明
LinuxCPUsar -P ALL 2 0 > CPU.txt"2"表示时间间隔为2s"0"表示收集总次数,如果为0则表示无限次,如果>0则在执行完指定的次数后自动退出;后面的">"符号表示把数据输出到CPU.txt文件,测试后完成后,我们对CPU.txt文件进行分析即可该命令会显示总的CPU占用情况和每单个CPU的占用情况,标识"all"的表示总的CPU占用情况,表示数字的如"1""2"等表示各个单独CPU的占用情况;一般来说:
1、如果%user值高,说明是用户占用高,一般就是我们的业务占用了CPU时间,只要CPU值与业务CAPS
成线形增长就是正常现象
2%system表示系统本身调度使用的CPU时间,一般该值都低于5%,当该值过高时,可能是由于业务线程过多,导致业务频繁切换,可以通过"sar -w 1 10"
查询上下文切换情况
3%iowait表示CPU等待磁盘IO处理的时间,一般该值低于5%,如果该值过高,表明磁盘已经存在瓶颈,可综合下面的磁盘监控命令确认。
Networksar -n DEV 2 0 > NET.txt"2"表示时间间隔为2s"0"表示收集总次数,如果为0则表示无限次,如果>0则在执行完指定的次数后自动退出;后面的">"符号表示把数据输出到NET.txt文件,测试后完成后,我们对NET.txt文件进行分析即可1IFACE表明监控网口,对应一个网卡,可通过"netstat -rn"查看网口对应的IP
2
rxpck/s txpck/s分别代表每秒收发的包,r代表接手的,t
代表发送的
3rxbyt/s txbyt/s分别代表每秒收发的字节数,该字段使用Byte(字节)作为计量单位,而我们一般说的网络10M网络或者100M网络是以bit作为单位,因而换算的时候,需要用rxbyt/s txbyt/s乘以8来进行对比(一个字节byte等于
8bit)
4
、后两项可以不同关注
MEMORYsar -r 2 0 > MEM.txt"2"表示时间间隔为2s"0"表示收集总次数,如果为0则表示无限次,如果>0则在执行完指定的次数后自动退出;后面的">"符号表示把数据输出到MEM.txt文件,测试后完成后,我们对MEM.txt文件进行分析即可1kbmemfree,当前空余内存
2kbmemused,系统已经使用的内存,该值包括了系统用来作为cache部分的内存。由于Linux系统一般作为服务器使用,Linux系统会把大部分的空余内存都使用起来用于缓存数据,只有当内存不够,而用户需要使用时才释放该内存给应用程序使用,该部分内存以kbcached
值表示出来。
3

3kbmemfree+kbbuffers+kbcached,
这三个值相加获取的结果才是系统真正空闲、可供使用的内存。
4kbswpused表示已经使用的交换分区大小。
IOiostat -x sdc sdd sde -d -t 2 > IO.txt"-x"表示显示详细的信息,"sdc/sdd/sde"表示只监视sdc/sdd/sde3块磁盘,不监视其他磁盘的IO情况,"-t 2“表示监视时间间隔为2s1rrqm/s wrqm/s代表每秒merge(合并的)读写请求,合并发生的情况是当读写请求在主机侧排队的时候,SCSI协议会把多个请求进行合并成一个请求发送到阵列,一般我们不用太关注这两个值
2r/s w/s表示每秒主机发送给磁盘的读写请求,也就是我们一般所说的IOPS
,测试数据库时需要关注这两个值是否达到磁盘阵列极限
3rsec/s wsec/s,每秒读写的块,在Linux中,一个sector()的大小为512byte,基本上,rsec/s / 2就是rkB/s的值了,wsec/s就是wkB/s

4rkB/s wkB/s,每秒读写的字节,同3
的说明
5avgrq-sz表示平均输出IOsector个数,对于数据库的数据和索引文件,一般为16(8k字节,oracle读写块大小一般为8k
字节),可以不用关注
6avgqu-sz,平均队列长度,表示主机侧读写请求队列排队情况,如果该值比较大(>5
),表示磁盘阵列已经处理不过来,请求就在主机排队了
7await,表示请求在队列等待的时间,一般与avgqu-sz
成正比
8svctm,表示请求在磁盘完成所用的时间,是指请求从主机发送到磁盘到磁盘返回数据的时间,与await不同,await
是指请求还没发送到磁盘而在主机的请求队列中排队所用的时间
9%util,磁盘使用率,该值一般不准,不需关注。
ProcessPict
 
该命令通过编写脚本实现,应用方法:
1、在linux系统中创建一个文件(
pidmonitor.sh)
2
、把commandpidmonitor.sh中的内容copy到该文件中保存退出(或者直接把command中文件传送到Linux
系统)
3、为该文件添加可执行权限
"chmod u+x pidmonitor.sh"
4
、以"./pidmonitor.sh interval count PID"的形式监控,interval表示监控间隔,count表示监控次数,PID表示进程的PID
1%cpu,指监控的这段时间内,监控进程所使用的CPU时间,该值只是代表最近时间段内业务所使用的CPU时间,所以该值可能会很高(超过90%),整体的系统CPU占用还是需要使用"sar -u"来查看
2%mem
,指进程所占用的物理内存的比例
3nlwp
,进程中所有的线程数
4rss
,进程所使用的物理内存大小
5sz,表示单位是page
,包括了进程的文本域、数据域、和栈域的大小
6vsz,进程的虚拟内存大小。
统一的收集脚本Pict

使用方法:
1、在Linux系统中创建一个文件(如collect.sh

2、把Commandcollect.sh的内容copy到该新建文件中,保存退出(或者直接把command中文件传送到Linux
系统)
3、为collect.sh增加可执行权限
"chmod u+x collect.sh"
4
、在同一目录下创建一个新文件pid,注意文件名不能错,必须为pid
,并且全小写
5、在pid文件中添加需要监控的USDPRBTVXML的用户名(如usdprbt
等,就是启动这些业务的用户名),每个用户名占用一行,最后一行必须是用户名,不能是回车符
6、创建一个文件pidmonitor.sh,Process中的Command
脚本复制到该文件中,然后为该文件添加可执行权限。
7、新建一个收集数据的文件夹(如Data"mkdir Data"

8、使用命令"./collect.sh interval count filename directory"的方式收集所有数据,这里interval表示收集间隔,count表示收集次数,filename表示收集文件的结束部分的名字,directory表示收集数据存放的目录(如可以使用"./collect.sh 1 100 5 Data",就表示,每隔5秒,总共收集100次,每个文件以_5结尾,这里的5可以表示测试是线程数等,收集的数据存放到Data目录下)
1、在该脚本中,有列出了上面所有的命令,可以根据自己的需要修改,把不需要收集的命令注释掉(在最前面增加"#"字符)
2、在收集磁盘命令时,需要把该脚本中的磁盘符"sdb sdc sdd”
修改为实际系统中需要收集的盘符
3AIX UNIXHP Unix也可以使用统一的方式收集,只是需要把收集命令修改为其对应的UNIX
的命令格式即可
4、该脚本中收集命令都是以后台job
运行的方式启动的,在界面不会有任何输出
5、由于使用的是后台job形式,所以,调用该脚本的窗口不能关闭,否则所有其调用的job
都会强行退出
6pid
文件不能以回车符结束,也就说,最后一行必须是启动业务的用户名,而不能是回车符,而且每个用户名占用一行
7、由于改脚本是针对USDPRBTVXML业务编写的(自动获取了业务进程的PID值),如果要监控其他的程序进程情况,请直接使用Prcoess里面的脚本(需要自己先获取程序的PID
  
IBMCPUsar -u 2 100 > CPU.txt"2"表示时间间隔为2s"100"表示收集总次数,该命令表示在200s(2*100)后,命令自动退出;后面的">"符号表示把数据输出到CPU.txt文件,测试后完成后,我们对CPU.txt文件进行分析即可该命令会显示总的CPU占用情况;一般来说:
1、如果%user值高,说明是用户占用高,一般就是我们的业务占用了CPU时间,只要CPU值与业务CAPS
成线形增长就是正常现象
2%system表示系统本身调度使用的CPU时间,一般该值都低于10%,当该值过高时,可能是由于业务线程过多,导致业务频繁切换,可以通过"sar -w 1 10"
查询上下文切换情况
3%iowait表示CPU等待磁盘IO处理的时间,一般该值低于5%,如果该值过高,表明磁盘已经存在瓶颈,可综合下面的磁盘监控命令确认。
IOsar -d 2 100 > IO.txt
sar -b 2 100 > IO_R_W.txt
"2"表示时间间隔为2s"100"表示收集总次数,该命令表示在200s(2*100)后,命令自动退出;后面的">"符号表示把数据输出到IO.txt文件,测试后完成后,我们对IO.txt文件进行分析即可
-d表示监视每个磁盘的IOPS
,平均服务时间
-b可分别监视总的读请求和写请求数
sar -d的输出:
1device
,表示磁盘设备
2%busy
,表示磁盘繁忙程度,该值一般不准,不需关注
3avque,表示平均队列长度,表示主机侧读写请求队列排队情况,如果该值比较大(>5
),表示磁盘阵列已经处理不过来,请求就在主机排队了
4r+w/s,读写请求数,就是一般常说的IOPS,表示主机发送到磁盘侧的IO
请求数。
5Kbs/s,每秒读写的请求数,通过Kbs/s除以r+w/s
可以得到程序读写使用的块大小。
6avwait,表示请求在队列等待的时间,一般与avgque
成正比
7avserv,表示请求在磁盘完成所用的时间,是指请求从主机发送到磁盘到磁盘返回数据的时间,与avwait不同,avwait
是指请求还没发送到磁盘而在主机的请求队列中排队所用的时间

sar -b
的输出:
1bread/s bwrit/s
,每秒块读写,值按操作系统块大小每秒读入到系统缓存区的请求数,一般使用了操作系统的文件系统才会有该值出现
2lread/s, lwrit/s
,逻辑读写,值系统从缓存进行读写的请求数
3pread/s, pwrit/s,一般像数据使用磁盘阵列的裸设备时,该值就表明了Oracle
实际读写磁盘数
4%rcache, %wcache,读写命中率,可以不用关心。
NetworkPict
 
该命令通过编写脚本实现,应用方法:
1、在IBM系统中创建一个文件(
IBMNetmon.sh)
2
、把commandIBMNetmon.sh的内容copy到该文件中保存退出(或者直接把command中文件传送到IBM AIX
系统)
3、为该文件添加可执行权限
"chmod u+x IBMNetmon.sh"
4
、以"./IBMNetmon.sh interval count en0/en1"的形式监控,interval表示监控间隔,count表示监控次数,en0/en1表示网口名称,可以通过"netstat -in"查看需监视IP的网口
1sendbytes/s,每秒发送字节数
2recvbytes/s
,每秒接手字节数
3totalbytes
,每秒总的收发字节数
4avaragebytes
,监视时间内平均的收发字节数
这里使用
Byte(字节)作为计量单位,而我们一般说的网络10M网络或者100M网络是以bit作为单位,因而换算的时候,需要用rxbyt/s txbyt/s乘以8来进行对比(一个字节byte等于8bit),有时该值可能出现负值(具体原因还不明,如果出现负值,把数据导入到excel中重新计算平均值)
HP UnixCPUsar -u 2 100 > CPU.txt"2"表示时间间隔为2s"100"表示收集总次数,该命令表示在200s(2*100)后,命令自动退出;后面的">"符号表示把数据输出到CPU.txt文件,测试后完成后,我们对CPU.txt文件进行分析即可该命令会显示总的CPU占用情况;一般来说:
1、如果%user值高,说明是用户占用高,一般就是我们的业务占用了CPU时间,只要CPU值与业务CAPS
成线形增长就是正常现象
2%system表示系统本身调度使用的CPU时间,一般该值都低于10%,当该值过高时,可能是由于业务线程过多,导致业务频繁切换,可以通过"sar -w 1 10"
查询上下文切换情况
3%iowait表示CPU等待磁盘IO处理的时间,一般该值低于5%,如果该值过高,表明磁盘已经存在瓶颈,可综合下面的磁盘监控命令确认。
IOsar -d 2 100 > IO.txt
sar -b 2 100 > IO_R_W.txt
"2"表示时间间隔为2s"100"表示收集总次数,该命令表示在200s(2*100)后,命令自动退出;后面的">"符号表示把数据输出到IO.txt文件,测试后完成后,我们对IO.txt文件进行分析即可
-d表示监视每个磁盘的IOPS
,平均服务时间
-b可分别监视总的读请求和写请求数
sar -d的输出:
1device
,表示磁盘设备
2%busy
,表示磁盘繁忙程度,该值一般不准,不需关注
3avque,表示平均队列长度,表示主机侧读写请求队列排队情况,如果该值比较大(>5
),表示磁盘阵列已经处理不过来,请求就在主机排队了
4r+w/s,读写请求数,就是一般常说的IOPS,表示主机发送到磁盘侧的IO
请求数。
5Kbs/s,每秒读写的请求数,通过Kbs/s除以r+w/s
可以得到程序读写使用的块大小。
6avwait,表示请求在队列等待的时间,一般与avgqu-
成正比
7avserv,表示请求在磁盘完成所用的时间,是指请求从主机发送到磁盘到磁盘返回数据的时间,与avwait不同,avwait
是指请求还没发送到磁盘而在主机的请求队列中排队所用的时间

TAG: Linux

 

评分:0

我来说两句

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 3182
  • 日志数: 7
  • 建立时间: 2012-09-12
  • 更新时间: 2012-10-18

RSS订阅