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