|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
初学阶段只要把上课时候学习过的命令练熟就可以了.单靠学习各种命令而成为高手是不可能的。
事情这么久了,次要就是服务器真个开辟,因为营业性子,关于功能的思索是天天不能不面临的成绩,每次出计划,都是以预估总pv、单机撑持最年夜并发、估计呆板资本。。。。。。等等一系列成绩入手下手,以是程序运转中单个函数的耗时,上线后全体功能的察看都十分主要。经由一段工夫的堆集和同事的指导,把相干的内容纪录下,也与有一样需求的同砚分享,配合前进。
一:起首,可已从以下四个方面察看你的服务器呆板今朝的功能情形:
1,CPU
2,内存
3,磁盘I/O带宽
4,收集I/O带宽
二:其次,要对怎样评价体系功能有个基础的尺度,经由一段工夫的察看,归结以下:
1,关于CPU,一般情形(非岑岭期)下,user%+sys%<60%是很好的情形
大概你会问,为何要小于60%,残剩的40%做甚么?这个是营业性子决意的,tx的营业都是偶然间段岑岭期的,好比早九点-十点,晚八点-十点,是用户会见岑岭期,我们要包管服务器可以处置尖峰并发,以是年夜多时分有30%~40%的余暇是能够承受并且是必需的。当你的服务器在平常cpu利用率一向>80%,那就要不能不思索扩容大概程序自己功能优化了油滑。
2,关于内存,一样一般情形下,SwapIn(si)=0,SwapOut(so)=0是很好的情形,固然同意偶然的尖峰,可是曲线要绝对光滑,消峰是很有需要的。假如呈现PerCPUwith10page/s,那末就要重点察看了。
3,关于磁盘,一般情形下,iowait%<25%是很好的情形,假如临时>40%,那末就会影响反应才能了
个中:
%user:暗示CPU处在用户形式下的工夫百分比。
%sys:暗示CPU处在体系形式下的工夫百分比。
%iowait:暗示CPU守候输出输入完成工夫的百分比。
swapin:即si,暗示假造内存的页导进,即从SWAPDISK互换到RAM
swapout:即so,暗示假造内存的页导出,即从RAM互换到SWAPDISK。
三:接上去先容,在事情中经常使用到的功能剖析工具,有些经常使用的体系命令:
vmstat、sar、iostat、netstat、free、ps、top等
事情中,我对照经常使用的组合体例为:
1,用vmstat、sar、iostat检测是不是是CPU瓶颈
2,用free、vmstat检测是不是是内存瓶颈
3,用iostat检测是不是是磁盘I/O瓶颈
4,用netstat检测是不是是收集带宽瓶颈
一般,会用命令uptime,看下整体cpu利用情形,比方我个中一台线上呆板情形
uptime
8:40pmup580days2:34,3users,loadaverage:1.24,1.44,1.67
重点存眷,loadaverage,这三个值的巨细一样平常不克不及年夜于体系CPU的个数,比方,本输入中体系有4个CPU,假如loadaverage的三个值临时年夜于4时,申明CPU很忙碌,负载很高,大概会影响体系功能,可是偶然年夜于4时,倒不必忧虑,一样平常不会影响体系功能。相反,假如loadaverage的输入值小于CPU的个数,则暗示CPU另有余暇的工夫片,好比本例中的输入,CPU长短常余暇的,为下次营业放量最筹办,哈哈。
1)用vmstat具体剖析cpu的功能:用该命令剖析我线上呆板
vmstat1
procs-----------memory-------------swap-------io-----system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
20189216543958050647613038320000001467910
61189216543958850647613038320006012544139861757710
1018921654393405064761303832000012441143941847800
1018921654395885064761303832000012540153461847800
注释下:
Procs
r:列暗示运转和守候cpu工夫片的历程数,这个值假如临时年夜于体系CPU的个数,申明CPU不敷,必要增添CPU。
b:列暗示在守候资本的历程数,好比正在守候I/O、大概内存互换等。
Cpu
us:列显现了用户历程损耗的CPU工夫百分比。us的值对照高时,申明用户历程损耗的cpu工夫多,可是假如临时年夜于50%,就必要思索优化程序或算法。
sy:列显现了内核历程损耗的CPU工夫百分比。Sy的值较高时,申明内核损耗的CPU资本良多。
依据履历,us+sy的参考值为70%,假如us+sy年夜于70%申明大概存在CPU资本不敷。
Memory
swpd:假造内存利用情形,单元:KB
free:余暇的内存,单元KB
buff:被用来做为缓存的内存数,一样平常对块设备的读写才必要缓冲,单元:KB
cache:暗示pagecached的内存数目,一样平常作为文件体系cached,频仍会见的文件城市被cached,假如cache值较年夜,申明cached的文件数较多,假如此时IO中bi对照小,申明文件体系效力对照好。
Swap
si:从磁盘互换到内存的互换页数目,单元:KB/秒
so:从内存互换到磁盘的互换页数目,单元:KB/秒
I/O
bi:发送到块设备的块数,单元:块/秒
bo:从块设备吸收到的块数,单元:块/秒
System
in:每秒的中止数,包含时钟中止
cs:每秒的情况(高低文)切换次数
注重:假如r常常年夜于4,且id常常少于40,暗示cpu的负荷很重。
假如si,so临时不即是0,暗示内存不敷。
假如disk常常不即是0,且在b中的行列年夜于3,暗示io功能欠好。
2)用sar剖析cpu功能,sar是个十分壮大的工具,能够对体系的每一个方面举行独自的统计,可是利用sar命令会增添体系开支,不外这些开支是能够评价的,对体系的统计了局不会有很年夜影响。
sar-u14
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11
21:06:13CPU%user%nice%system%iowait%idle
21:06:14all16.830.004.460.9977.72
21:06:15all15.080.004.520.0080.40
21:06:16all17.210.003.990.0078.80
21:06:17all16.750.003.250.0080.00
Average:all16.470.004.050.2579.23
对下面每项的输入注释以下:
%user列显现了用户历程损耗的CPU工夫百分比。
%nice列显现了运转一般历程所损耗的CPU工夫百分比。
%system列显现了体系历程损耗的CPU工夫百分比。
%iowait列显现了IO守候所占用的CPU工夫百分比
%steal列显现了在内存绝对严重的情况下pagein强迫对分歧的页面举行的steal操纵。
%idle列显现了CPU处在余暇形态的工夫百分比。
有的时分会碰到cpu很余暇,可是功能低下的情形,多是因为开的历程数小于你cpu的数量,一般websvr历程城市开的很年夜,由于会挪用良多背景服务,属于io范例偏多,逻辑处置偏少的,比方我线上websvr是240个proc,但逻辑svr一般历程数绝对小,由于逻辑处置是耗cpu型的,假如是异步的一般是4个proc,同步的16-32个不等。历程数与服务器功能也是互相关注的。
3)内存功能评价free
free-m
totalusedfreesharedbufferscached
Mem:81102792531804941263
-/+buffers/cache:10347076
Swap:20551841870
注重:一样平常有如许一个履历公式:使用程序可用内存/体系物理内存>70%时,暗示体系内存资本十分充分,不影响体系功能,使用程序可用内存/体系物理内存<20%时,暗示体系内存资本紧缺,必要增添体系内存,20%<使用程序可用内存/体系物理内存<70%时,暗示体系内存资本基础能满意使用需求,临时不影响体系功能。
一样也能够用vmstat察看内存情形,重点存眷si,so的值
4)i/o功能评价iostat命令
iostat-d2
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda9.4822.7341.5011391884262080012464
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda0.000.000.0000
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda7.500.00112.000224
对下面每项的输入注释以下:
Blk_read/s暗示每秒读取的数据块数。
Blk_wrtn/s暗示每秒写进的数据块数。
Blk_read暗示读取的一切块数。
Blk_wrtn暗示写进的一切块数。
注重:1:能够经由过程Blk_read/s和Blk_wrtn/s的值对磁盘的读写功能有一个基础的懂得,假如Blk_wrtn/s值很年夜,暗示磁盘的写操纵很频仍,能够思索优化磁盘大概优化程序,假如Blk_read/s值很年夜,暗示磁盘间接读取操纵良多,能够将读取的数据放进内存中举行操纵。
2:关于这两个选项的值没有一个流动的巨细,依据体系使用的分歧,会有分歧的值,可是有一个划定规矩仍是能够遵守的:临时的、超年夜的数据读写,一定是不一般的,这类情形必定会影响体系功能。
5)I/O功能评价sar
sar-d23
Linux2.6.16.60-0.21-TENCENT-090803(RS_Server_vip)04/28/11
21:24:24DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:26dev8-010.400.00324.7531.240.087.435.525.74
21:24:26DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:28dev8-00.000.000.000.000.000.000.000.00
21:24:28DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
21:24:30dev8-02.990.0031.8410.670.0311.3310.002.99
Average:DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util
Average:dev8-04.480.00119.4026.670.048.306.522.92
必要重点存眷的几个参数寄义:
await暗示均匀每次设备I/O操纵的守候工夫(以毫秒为单元)。
svctm暗示均匀每次设备I/O操纵的服务工夫(以毫秒为单元)。
%util暗示一秒中有百分之几的工夫用于I/O操纵。
对以磁盘IO功能,一样平常有以下评判尺度:
注重:一般情形下svctm应当是小于await值的,而svctm的巨细和磁盘功能有关,CPU、内存的负荷也会对svctm值形成影响,过量的哀求也会直接的招致svctm值的增添。
await值的巨细一样平常取决与svctm的值和I/O行列长度和I/O哀求形式,假如svctm的值与await很靠近,暗示几近没有I/O守候,磁盘功能很好,假如await的值远高于svctm的值,则暗示I/O行列守候太长,体系上运转的使用程序将变慢,此时能够经由过程改换更快的硬盘来办理成绩。
%util项的值也是权衡磁盘I/O的一个主要目标,假如%util靠近100%,暗示磁盘发生的I/O哀求太多,I/O体系已满负荷的在事情,该磁盘大概存在瓶颈。临时下往,必将影响体系的功能,能够经由过程优化程序大概经由过程改换更高、更快的磁盘来办理此成绩。
6)收集功能netstat,重用的几种体例为:
netstat-s统计分歧协定否有丢包
netstat-nlpRev-Q是不是有未读取的数据
netstat-antl一切tcp毗连情况
注重:能够经由过程netstat检察是不是timewait过量的情形,招致端口不敷用,在短毗连服务中且年夜并发情形下,要不体系的以下两个选项翻开,同意端口重用
cattcp_tw_recycle
1
cattcp_tw_reuse
7)收集吸收具体情形tcpdump
假如想要猎取主机210.27.48.1除和主机210.27.48.2以外一切主机通讯的ip包,利用命令:
#tcpdumpiphost210.27.48.1and!210.27.48.2
假如想要猎取主机210.27.48.1吸收或收回的telnet包,利用以下命令:
#sudotcpdump-ieht1-Xnns0tcpport23host210.27.48.1
安装和登录命令:login、shutdown、halt、reboot、mount、umount、chsh |
|