《Linux性能監測工具》

1、uptime

uptime命令用於查看服務器運行了多長時間以及有多少個用戶登錄,快速獲知服務器的負荷情況。

uptime的輸出包含一項內容是load average,顯示了最近1-,5-,15分鐘的負荷情況。它的值代表等待CPU處理的進程數,如果CPU沒有時間處理這些進程,load average值會升高;反之則會降低。

load average的最佳值是1,說明每個進程都可以馬上處理並且沒有CPU cycles被丟失。對於單CPU的機器,1或者2是可以接受的值;對於多路CPU的機器,load average值可能在8到10之間。

也可以使用uptime命令來判斷網絡性能。例如,某個網絡應用性能很低,通過運行uptime查看服務器的負荷是否很高,如果不是,那麼問題應該是網絡方面造成的。

 

2、dmesg

dmesg命令主要用來顯示內核信息。使用dmesg可以有效診斷機器硬件故障或者添加硬件出現的問題。

另外,使用dmesg可以確定您的服務器安裝了那些硬件。每次系統重啓,系統都會檢查所有硬件並將信息記錄下來。執行/bin/dmesg命令可以查看該記錄。

 

3、top

top命令顯示處理器的活動狀況。缺省情況下,顯示佔用CPU最多的任務,並且每隔5秒鐘做一次刷新。

 

4、iostat

執行iostat命令可以從系統啓動之後的CPU平均時間,類似於uptime。除此之外,iostat還對創建一個服務器磁盤子系統的活動報告。該報告包含兩部分:CPU使用情況和磁盤使用情況。

 

5、vmstat

vmstat提供了processes, memory, paging, block I/O, traps和CPU的活動狀況.

各輸出列的含義:

Process

– r: 等待runtime的進程數

– b: 在不可打斷的休眠狀態下的進程數

Memory

– swpd: 虛擬內存使用量(KB)

– free: 閒置內存使用量(KB)

– buff: 被當做buffer使用的內存量(KB)

Swap

– si: swap到磁盤的內存量(KBps)

– so: 從磁盤swap出去的內存量(KBps)

IO

– bi: Blocks sent to a block device (blocks/s).

– bo: Blocks received from a block device (blocks/s).

System

– in: The number of interrupts per second, including the clock.

– cs: The number of context switches per second.

CPU (these are percentages of total CPU time)

- us: Time spent running non-kernel code (user time, including nice time).

– sy: Time spent running kernel code (system time).

– id: Time spent idle. Prior to Linux 2.5.41, this included IO-wait time.

– wa: Time spent waiting for IO. Prior to Linux 2.5.41, this appeared as zero.

 

6 sar

sar用於收集、報告或者保存系統活動信息。sar由三個應用組成:sar顯示數據、sar1和sar2用於收集和保存數據。

使用sar1和sar2,系統能夠配置成自動抓取信息和日誌,以備分析使用。配置舉例:在/etc/crontab中添加如下幾行內容

  

7 free

/bin/free命令顯示所有空閒的和使用的內存數量,包括swap。同時也包含內核使用的緩存。

 

8 pmap

pmap可以報告某個或多個進程的內存使用情況。使用pmap判斷主機中哪個進程因佔用過多內存導致內存瓶頸。

 

pmap -x <pid>

pmap <pid>

 

9 ulimit

ulimit內置在bash shell中,用來提供對shell和進程可用資源的控制

使用選項-a列出可以設置的所有參數:

ulimit -a

 

-H和-S選項指明所給資源的軟硬限制。如果超過了軟限制,系統管理員會收到警告信息。硬限制指在用戶收到超過文件句炳限制的錯誤信息之前,可以達到的最大值。

例如可以設置對文件句炳的硬限制:ulimit -Hn 4096

例如可以設置對文件句炳的軟限制:ulimit -Sn 1024

查看軟硬值,執行如下命令:

ulimit -Hn

ulimit -Sn

例如限制Oracle用戶. 在/etc/security/limits.conf輸入以下行:

soft nofile 4096

hard nofile 10240

對於Red Hat Enterprise Linux AS,確定文件/etc/pam.d/system-auth包含如下行

session required /lib/security/$ISA/pam_limits.so

對於SUSE LINUX Enterprise Server,確定文件/etc/pam.d/login 和/etc/pam.d/sshd包含如下行:

session required pam_limits.so

這一行使這些限制生效。

 

10 mpstat

pstat用於報告多路CPU主機的每顆CPU活動情況,以及整個主機的CPU情況。

例如,下邊的命令可以隔2秒報告一次處理器的活動情況,執行3次

mpstat 2 3

 

如下命令每隔1秒顯示一次多路CPU主機的處理器活動情況,執行3次

mpstat -P ALL 1 3

 

發佈了152 篇原創文章 · 獲贊 1 · 訪問量 6141
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章