Linux系統性能工具

linux中幾款常用的系統性能分析工具:

1.vmstat命令

解釋:

虛擬內存信息

用法:

vmstat [options] [delay [count]]

vmstat 2 5

//每2秒刷新一次,一共刷新5次

輸出屬性:

procs:

r:可運行(正運行或等待運行)進程的個數,和核心數有關

b:處于不可中斷睡眠態的進程個數(被阻塞的隊列的長度)

memory:

swpd: 交換內存的使用總量

free:空閑物理內存總量

buffer:用于buffer的內存總量

cache:用于cache的內存總量

swap:

si:從磁盤交換進內存的數據速率(kb/s)

//從磁盤到內存 //進內存

so:從內存交換至磁盤的數據速率(kb/s)

//內存寫到磁盤 //出內存

io:

bi:從塊設備讀入數據到系統的速率(kb/s)

bo: 保存數據至塊設備的速率

system:

in: interrupts 中斷速率,包括時鐘

cs: context switch 進程切換速率

cpu:

us:Time spent running non-kernel code

sy: Time spent running kernel code

id: Time spent idle. Linux 2.5.41前,包括IO-wait time.

wa: Time spent waiting for IO. 2.5.41前,包括in idle.

st: Time stolen from a virtual machine. 2.6.11前, unknown.

 

選項:

 

-s:統計內存數據

#:#秒鐘顯示一次

2.iostat命令

解釋:

iostat是I/O?statistics(輸入/輸出統計)的縮寫,主要的功能是對系統的磁盤I/O操作進行監視。它的輸出主要顯示磁盤讀寫操作的統計信息,同時也會給出CPU使用情況。同vmstat一樣,iostat也不能對某個進程進行深入分析,僅對系統的整體情況進行分析。

用法:

示例:iostat 1 10

選項:

-x:顯示詳細格式的信息

#:每#秒執行一次

# *:每#秒執行一次,執行*次退出

3. dstat命令:

解釋:

系統資源統計,代替vmstat,iostat

 

格式:

dstat [-afv] [options..] [delay [count]]

選項:

-c: 顯示cpu相關信息

-C #,#,…,total

-d: 顯示disk相關信息

-D total,sda,sdb,…

-g:顯示page相關統計數據

-m: 顯示memory相關統計數據

-n: 顯示network相關統計數據

-p: 顯示process相關統計數據

-r: 顯示io請求相關的統計數據

-s: 顯示swapped相關的統計數據

–tcp

–udp

–unix

–raw

–socket

–ipc

–top-cpu:顯示最占用CPU的進程

–top-io: 顯示最占用io的進程

–top-mem: 顯示最占用內存的進程

–top-latency: 顯示延遲最大的進程

 

 

影響性能因素:

好–>壞–>糟糕

CPU:

user%?+?sys%<?70%?user%?+?sys%=?85%?user%?+?sys%?>=90%

內存

Swap?In(si)=0

Swap?Out(so)=0?Per?CPU?with?10?page/s?More?Swap?In?&?Swap?Out

磁盤:

iowait?%?<?20%?iowait?%?=35%?iowait?%?>=?50%

解釋:

user%:表示CPU處在用戶模式下的時間百分比。

%sys:表示CPU處在系統模式下的時間百分比。

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

swap?in:即si,表示虛擬內存的頁導入,即從SWAP?DISK交換到RAM。

swap?out:即so,表示虛擬內存的頁導出,即從RAM交換到SWAP?DISK。

 

總結:

1、linux下性能分析工具還有很多,例如:uptime可以檢查CPU的平均負載,free可以查看系統內存的使用狀況,ps、top可以配合監控系統的進程運行狀態,netstat可以監測網絡流量狀況等等。

2、系統性能優化是個涉及面廣、繁瑣、長久的工作,尋找出現性能問題的根源往往是最難的部分,一旦找到出現問題的原因,性能問題也就迎刃而解。因此,解決問題的思路得非常重要。例如,linux系統下的一個網站系統,用戶反映,網站訪問速度很慢,有時無法訪問。針對這個問題,第一步要做的是檢測網絡,可以通過ping命令檢查網站的域名解析是否正常,同時,ping服務器地址的延時是否過大等等,通過這種方式,首先排除網絡可能出現的問題;如果網絡沒有問題,接著進入第二步,對linux系統的內存使用狀況進行檢查,因為網站響應速度慢,一般跟內存關聯比較大,通過free、vmstat等命令判斷內存資源是否緊缺,如果內存資源不存在問題,進入第三步,檢查系統CPU的負載狀況,可以通過sar、vmstat、top等命令的輸出綜合判斷CPU是否存在過載問題,如果CPU沒有問題,繼續進入第四步,檢查系統的磁盤I/O是否存在瓶頸,可以通過iostat、vmstat等命令檢查磁盤的讀寫性能,如果磁盤讀寫也沒有問題,linux系統自身的性能問題基本排除,最后要做的是檢查程序本身是否存在問題。通過這樣的思路,層層檢測,步步排查,性能問題就“無處藏身”,查找出現性能問題的環節也就變得非常簡單。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90357

(0)
Pkin°Pkin°
上一篇 2017-12-18
下一篇 2017-12-19

相關推薦

  • 馬哥教育網絡班21期-第七周課程練習

    第七周作業 1、創建一個10G分區,并格式為ext4文件系統; [root@qq ~]# fdisk /dev/sdb         #使用fdisk命令進行分區; Device contains neither&nb…

    Linux干貨 2016-08-08
  • 重定向

    Linux下定義了三種I/O設備: 標準輸入(STDIN):用0表示,默認的標準輸入設備是鍵盤; 標準輸出(STDOUT):用1表示,默認的標準輸出設備是當前終端; 標準錯誤(STDERR):用2表示,默認的標準錯誤輸出設備是當前終端; I/O重定向即改變默認的位置 1 標準輸出重定向 (1)將標準輸出重定向到其他終端 /dev/pts/1代表偽終端1,在偽…

    Linux干貨 2017-07-31
  • CentOS7.3系統上編譯安裝httpd.2.4.25

    本文所做的所有操作是在一部新安裝的CentOS7.3系統上。 1.環境與配置 環境說明:VMware上安裝的CentOS7.3系統,7.3完整版光盤做成的yum源 配置:編譯生成的所有的文件都存放在/usr/local/httpd24/這個目錄下 2.安裝GCC編譯器 #安裝Development tools這個軟件包組 [root@pxe68 ~]# yu…

    2017-04-20
  • CentOS7 Local yum的一次報錯信息

    說明:今天在火車上測試一個CentOS7下的一個服務,要用到yum配置,但是本機沒有聯網,所以考慮到配置本地yum,按照之前CentOS6下的常規方法,居然發現有報錯。 操作如下: 1)虛擬機下將CentOS7光盤加載到系統里面,然后掛載到本地的/localyum上 [root@localhost yum.repos.d]# mount&…

    Linux干貨 2016-07-16
  • N26-第五周

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;  ~]# grep “^[[:space:]]\+$” /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; ~]# grep &#82…

    Linux干貨 2017-03-02
  • 4.Linux權限管理與grep命令應用

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。        cp -r /etc/skel /home/tuser1        chmod 700 /home/tuser1  …

    Linux干貨 2017-07-23
欧美性久久久久