技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

CentOS服務(wù)程序性能評估文檔詳解

來源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2017-11-25 06:21┆點(diǎn)擊:

  內(nèi)存:Swap In(si)=0; Swap Out(so)=0; 以不使用交換分區(qū)為準(zhǔn),如果頻繁用到交換分區(qū),內(nèi)存可能不夠了。

  硬盤:iowait % < 20%;

  網(wǎng)絡(luò):只要有足夠帶寬盡情的使用吧,達(dá)到網(wǎng)卡帶寬linux系統(tǒng)表示毫無壓力

  其中: %user:表示CPU處在用戶模式下的時(shí)間百分比。

  %sys:表示CPU處在內(nèi)核模式下的時(shí)間百分比。

  %iowait:表示CPU等待輸入輸出完成時(shí)間的百分比。

  swap in:即si,表示虛擬內(nèi)存的頁導(dǎo)入,即從SWAP DISK交換到RAM

  swap out:即so,表示虛擬內(nèi)存的頁導(dǎo)出,即從RAM交換到SWAP DISK。

  1.3性能分析工具

  常用系統(tǒng)命令:top、free、ps、uptime、iotop、vmstat、iostat 、dstat、sar。

  使用方法:top命令把握全局,使用特定命令深入分析

  常用組合方式:

  (1)CPU瓶頸:top、vmstat、iostat、sar –u、sar -q

  (2)內(nèi)存瓶頸:free、vmstat、sar -B、sar –r、sar -W

  (3)磁盤I/O瓶頸:iotop、iostat、sar -b、sar –u、sar -d

  (4)網(wǎng)絡(luò)瓶頸: dstat

  2 top

  2.1功能

  提供了實(shí)時(shí)的對系統(tǒng)處理器、內(nèi)存、任務(wù)等狀態(tài)監(jiān)視;該命令可以按CPU使用、內(nèi)存使用對任務(wù)進(jìn)行排序;TOP是一個(gè)動(dòng)態(tài)顯示過程,可以通過用戶按鍵來不斷刷新當(dāng)前狀態(tài),也可以在啟動(dòng)時(shí)指定刷新間隔。

  2.2命令輸出示意圖

  top - 10:16:29 up 38 days, 15:48, 5 users, load average: 0.04, 0.10, 0.05

  Tasks: 569 total, 2 running, 562 sleeping, 0 stopped, 5 zombie

  Cpu(s): 2.6%us, 1.3%sy, 0.4%ni, 95.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  Mem: 3839112k total, 3151560k used, 687552k free, 302944k buffers

  Swap: 6078456k total, 631852k used, 5446604k free, 348548k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  10603 zhixiang 20 0 1225m 284m 30m S 4.6 7.6 271:48.24 vs_exe

  2473 xulun 20 0 118m 43m 6932 S 3.0 1.2 964:14.99 Xvnc

  1412 xulun 30 10 232m 12m 5216 S 2.3 0.3 0:04.59 floaters

  14823 chujie 20 0 1112m 247m 17m S 2.0 6.6 363:51.38 vs_exe

  17772 sihao 20 0 1101m 202m 10m S 1.7 5.4 631:21.17 vs_exe

  11054 sihao 20 0 906m 65m 9412 S 1.0 1.7 410:06.55 vs_exe

  20782 yongtao 20 0 1049m 173m 9996 S 1.0 4.6 196:05.10 vs_exe

  14637 chujie 20 0 1274m 132m 2388 S 0.7 3.5 63:20.18 KugooPopMsgServ

  1439 yanyun 20 0 15428 1600 940 R 0.3 0.0 0:00.01 top

  3491 zhixiang 20 0 129m 55m 17m S 0.3 1.5 10:57.25 Xvnc

  1 root 20 0 19344 1200 984 S 0.0 0.0 0:00.89 init

  2.3命令輸出解析

  Top輸出的信息很多基本囊括了所有的性能指標(biāo),前五行是統(tǒng)計(jì)信息區(qū),表示的是系統(tǒng)整體的統(tǒng)計(jì)信息,包括:系統(tǒng)負(fù)載、任務(wù)、CPU、內(nèi)存等;后面的是每個(gè)進(jìn)程相關(guān)信息。

  第一行是任務(wù)隊(duì)列信息,同uptime命令的執(zhí)行結(jié)果是一樣的

  [yanyun@~/test]$ uptime

  10:20:17 up 38 days, 15:52, 5 users, load average: 0.00, 0.04, 0.03

  其內(nèi)容如下:10:20:17:當(dāng)前時(shí)間

  38 days, 15:52:系統(tǒng)運(yùn)行時(shí)間

  5 users:當(dāng)前登錄用戶數(shù)

  load average: 0.00, 0.04, 0.03:系統(tǒng)負(fù)載,即任務(wù)隊(duì)列的平均長度。三個(gè)數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。

  第二行為進(jìn)程的信息

  內(nèi)容如下:569 total:進(jìn)程總數(shù)

  2 running,:正在運(yùn)行的進(jìn)程數(shù)

  562 sleeping:睡眠的進(jìn)程數(shù)

  0 stopped:停止的進(jìn)程數(shù)

  5 zombie:僵尸進(jìn)程數(shù)

  第三行為CPU的信息

  內(nèi)容如下:2.6%us:用戶空間占用CPU百分比

  1.3%sy:內(nèi)核空間占用CPU百分比

  0.4%ni:用戶進(jìn)程空間內(nèi)改變過優(yōu)先級的進(jìn)程占用CPU百分比

  95.7%id:空閑CPU百分比

  0.0%wa:等待輸入輸出的CPU時(shí)間百分比

  第四、五行為內(nèi)存信息;命令輸出跟free相同

  [yanyun@~]$ free

  total used free shared buffers cached

  Mem: 3839112 3256976 582136 0 143664 444992

  -/+ buffers/cache: 2668320 1170792

  Swap: 6078456 574772 5503684

  內(nèi)容如下:Mem :3839112k total:物理內(nèi)存總量

  3151560k used:使用的物理內(nèi)存總量

  687552k free:空閑內(nèi)存總量

  302944k buffers:用作緩沖的內(nèi)存量

  Swap: 6078456k total:交換區(qū)總量

  631852k used:使用的交換區(qū)總量

  5446604k free:空閑交換區(qū)總量

  348548k cached:緩存總量。

  注:buffer:可以認(rèn)為是寫出磁盤的緩沖區(qū);

  Cache:讀出磁盤的緩存。

  Linux系統(tǒng)使用內(nèi)存的原則是:不用白不用,用了也白用;盡可能的緩存東西,所以往往看空閑內(nèi)存很小,但是cache很大;Linux系統(tǒng)會(huì)定時(shí)啟動(dòng)內(nèi)核線程kswapd進(jìn)行緩存回收。

  后面的是顯示每個(gè)進(jìn)程相關(guān)信息

  %CPU:上次更新到現(xiàn)在的CPU時(shí)間占用百分比

  TIME+:進(jìn)程使用的CPU時(shí)間總計(jì)

  %MEM:進(jìn)程使用的物理內(nèi)存百分比

  VIRT:進(jìn)程使用的虛擬內(nèi)存總量,單位kb

  RES:進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA

  SHR:共享內(nèi)存大小,單位kb

  S:進(jìn)程狀態(tài)。(D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程)

  2.4常用選項(xiàng)

  top [-] [d][p][M][P]

  參數(shù)說明:

  d:指定每兩次屏幕信息刷新之間的時(shí)間間隔。(top –d 1:每秒刷新一次)

  p:指定進(jìn)程ID來僅監(jiān)控某個(gè)進(jìn)程。(top –d 1234:只查看pid為1234的進(jìn)程信息)

  k:終止一個(gè)進(jìn)程。Top運(yùn)行時(shí)參數(shù),系統(tǒng)將提示用戶輸入需要終止的進(jìn)程PID,以及需要發(fā)送給該進(jìn)程什么樣的信號。使用信號9強(qiáng)制結(jié)束該進(jìn)程。

  M:根據(jù)駐留內(nèi)存大小進(jìn)行排序。

  P:根據(jù)CPU使用百分比大小進(jìn)行排序。

  注:在命令行執(zhí)行過程中按下數(shù)字鍵‘1’,可以查看到CPU每個(gè)核的相關(guān)信息。

  Tasks: 564 total, 3 running, 556 sleeping, 0 stopped, 5 zombie

  Cpu0 : 2.9%us, 2.9%sy, 0.0%ni, 94.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  Cpu1 : 2.0%us, 2.0%sy, 0.0%ni, 96.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  Cpu3 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

  Mem: 3839112k total, 3445296k used, 393816k free, 48180k buffers

  Swap: 6078456k total, 553876k used, 5524580k free, 976128k cached

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  14823 chujie 20 0 1112m 245m 16m R 3.0 6.5 373:07.82 vs_exe

  5589 sihao 20 0 1019m 267m 29m R 2.0 7.1 2:24.80 vs_exe

  5674 zhixiang 20 0 1103m 253m 37m S 2.0 6.8 4:17.89 vs_exe

  3 iotop:

  3.1功能

  是一個(gè)用來監(jiān)視每個(gè)線程的磁盤 I/O 使用狀況的類top 工具,

  注:此命令需要自行安裝(yum install iotop)

  3.2命令輸出示意圖

  Total DISK READ: 50.23 M/s | Total DISK WRITE: 34.25 K/s

  TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND

  61524 be/4 root 47.65 M/s 0.00 B/s 0.00 % 37.83 % ./relay_server

  61539 be/4 root 121.77 K/s 0.00 B/s 0.00 % 26.73 % ./relay_server

  61544 be/4 root 700.15 K/s 0.00 B/s 0.00 % 24.89 % ./relay_server

  61543 be/4 root 528.92 K/s 0.00 B/s 0.00 % 21.29 % ./relay_server

  61541 be/4 root 494.67 K/s 0.00 B/s 0.00 % 21.22 % ./relay_server

  61540 be/4 root 323.44 K/s 0.00 B/s 0.00 % 8.62 % ./relay_server

  61542 be/4 root 468.04 K/s 0.00 B/s 0.00 % 8.13 % ./relay_server

  480 be/3 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % [jbd2/sda2-8]

  1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init

  2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]

  3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]

  3.3命令輸出解析

  第一行:

  Total DISK READ: 50.23 M/s :磁盤每秒讀出數(shù)據(jù)量

  Total DISK WRITE: 34.25 K/s :磁盤每秒寫入數(shù)據(jù)量

  下面的是每個(gè)線程的的IO情況:

  比較簡單;只解釋一下IO:跟top的wa意義相同,只是此處表示的一個(gè)線程的wa。

  3.4常用選項(xiàng)

  iotop [-] [d] [p]

  參數(shù)說明:

  d:指定每兩次屏幕信息刷新之間的時(shí)間間隔。(iotop –d 1:每秒刷新一次)

  p:指定線程ID來僅監(jiān)控某個(gè)線程。(iotop –d 1234:只查看pid為1234的進(jìn)程信息)

  注:在命令行執(zhí)行過程中按下字母‘o’,可以只查看有IO的線程。

  pstree -p:查看進(jìn)程樹,可以輸出進(jìn)程之間的關(guān)系。

  ps –eLf:查看線程。ps –ef的高級版

  4 vmstat:

  4.1功能

  查看虛擬內(nèi)存(Virtual Memory)使用狀況的工具

  4.2命令輸出示意圖

  [yanyun@~/test]$ vmstat

  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 631376 834896 15108 452024 0 0 4 4 1 2 2 1 97 0 0

  4.3命令輸出解析

  Memory:同top的第四、五行信息。

  swap:內(nèi)存到swap分區(qū)換入換出速率。

  io:讀寫磁盤速率

  system in:每秒的中斷數(shù),包括時(shí)鐘中斷

  system cs:每秒的環(huán)境(上下文)切換數(shù);頻繁切換對系統(tǒng)性能有影響,linux提供了線程對cpu的親和,可以將某個(gè)線程綁定到一個(gè)核運(yùn)行。

  cpu:同top輸出的第三行

  注:swap項(xiàng)不為零,都用到交換分區(qū)了,內(nèi)存可能已經(jīng)用完已經(jīng)成為系統(tǒng)瓶頸的一項(xiàng)。

  4.4常用選項(xiàng)

  vmstat 1 10:每秒刷新一次,總共刷新十次退出。

  注:下面的選項(xiàng)都是專業(yè)的查看某一特定項(xiàng)的信息,有幾個(gè)輸出一大堆信息,用到時(shí)google吧!

  -a:顯示活躍和非活躍內(nèi)存

  -f:顯示從系統(tǒng)啟動(dòng)至今的fork數(shù)量

  -m:顯示slabinfo

  -s:顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動(dòng)數(shù)量。

  -d:顯示磁盤相關(guān)統(tǒng)計(jì)信息。

  -p:顯示指定磁盤分區(qū)統(tǒng)計(jì)信息

  5 iostat

  5.1功能

  用于輸出CPU和磁盤I/O相關(guān)的統(tǒng)計(jì)信息

  5.2輸出結(jié)果示意圖

  [root@ShanWei_119_134_255_208 ~]# iostat -x

  Linux 2.6.32-279.el6.x86_64 (ShanWei_119_134_255_208) 07/30/2013 _x86_64_ (16 CPU)

  avg-cpu: %user %nice %system %iowait %steal %idle

  2.63 0.00 2.25 5.98 0.00 89.14

  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util

  sda 195.42 163.72 194.33 126.28 28464.35 2319.94 96.02 1.16 3.63 1.41 45.30

  sdb 0.33 48.97 122.71 2.70 29603.37 413.38 239.34 0.27 2.15 1.00 12.52

  5.3命令輸出解釋

  avg-cpu段:

  %user: 在用戶級別運(yùn)行所使用的CPU的百分比.

  %nice: nice操作所使用的CPU的百分比.

  %sys: 在系統(tǒng)級別(kernel)運(yùn)行所使用CPU的百分比.

  %iowait: CPU等待硬件I/O時(shí),所占用CPU百分比.

  %idle: CPU空閑時(shí)間的百分比.

  Device段:

  tps: 每秒鐘發(fā)送到的I/O請求數(shù)

  Blk_read /s: 每秒讀取的block數(shù)

  Blk_wrtn/s: 每秒寫入的block數(shù)

  Blk_read: 讀入的block總數(shù)

  Blk_wrtn: 寫入的block總數(shù)

  -x選項(xiàng)可以查看到如下更多信息

  rrqm/s:每秒這個(gè)設(shè)備相關(guān)的讀取請求有多少被Merge了

  wrqm/s:每秒這個(gè)設(shè)備相關(guān)的寫入請求有多少被Merge了

  rsec/s:每秒讀取的扇區(qū)數(shù)

  wsec/:每秒寫入的扇區(qū)數(shù)

  avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))

  avgqu-sz: 平均I/O隊(duì)列長度

  await:平均每次設(shè)備I/O操作的等待時(shí)間(單位是毫秒)

  svctm: 平均每次設(shè)備I/O操作的服務(wù)時(shí)間 (單位是毫秒)

  %util:在統(tǒng)計(jì)時(shí)間內(nèi)所有處理IO時(shí)間,所以該參數(shù)暗示了設(shè)備的繁忙程度

  5.4常用選項(xiàng)

  iostat -d 2 6:每隔2秒,顯示一次設(shè)備統(tǒng)計(jì)信息.總共輸出6次.

  -x:查看設(shè)備的使用率、響應(yīng)時(shí)間

  6 dstat

  6.1功能