查詢系統負載信息 Linux 命令詳解

linux uptime命令主要用於獲取主機運行時間和查詢linux系統負載等信息。uptime命令過去只顯示系統運行多久。現在,可以顯示系統已經運行了多長時間,信息顯示依次爲:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。

uptime命令用法十分簡單:直接輸入

# uptime

即可。

輸入樣例:

18:02:41 up 41 days, 23:42, 1 user, load average: 0.00, 0.00, 0.00

1可以被認爲是最優的負載值。負載是會隨着系統不同改變得。單CPU系統1-3和SMP系統6-10都是可能接受的。

另外還有一個參數 -V ,是用來查詢版本的。 (注意是大寫的字母v)

[linux @ localhost]$ uptime -V

procps version 3.2.7

[linux @ localhost]$ uptime

顯示結果爲:

10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09

顯示內容說明:

10:19:04 //系統當前時間

up 257 days, 18:56 //主機已運行時間,時間越大,說明你的機器越穩定。

12 user //用戶連接數,是總連接數而不是用戶數

load average // 系統平均負載,統計最近1,5,15分鐘的系統平均負載

那麼什麼是系統平均負載呢? 系統平均負載是指在特定時間間隔內運行隊列中的平均進程數。

如果每個CPU內核的當前活動進程數不大於3的話,那麼系統的性能是良好的。如果每個CPU內核的任務數大於5,那麼這臺機器的性能有嚴重問題。

如果你的linux主機是1個雙核CPU的話,當Load Average 爲6的時候說明機器已經被充分使用了。

查看cpu負載

#vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 4 329796 26040 4528 3379824 1 1 50 160 36 17 2 10 85 3 0
procs
r 列表示運行和等待cpu時間片的進程數,如果長期大於1,說明cpu不足,需要增加cpu。
b 列表示在等待資源的進程數,比如正在等待I/O、或者內存交換等。
cpu 表示cpu的使用狀態
us 列顯示了用戶方式下所花費 CPU 時間的百分比。us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期大於50%,需要考慮優化用戶的程序。
sy 列顯示了內核進程所花費的cpu時間的百分比。這裏us + sy的參考值爲80%,如果us+sy 大於 80%說明可能存在CPU不足。
wa 列顯示了IO等待所佔用的CPU時間的百分比。這裏wa的參考值爲30%,如果wa超過30%,說明IO等待嚴重,這可能是磁盤大量隨機訪問造成的,也可能磁盤或者磁盤訪問控制器的帶寬瓶頸造成的(主要是塊操作)。
id 列顯示了cpu處在空閒狀態的時間百分比
system 顯示採集間隔內發生的中斷數
in 列表示在某一時間間隔中觀測到的每秒設備中斷數。
cs列表示每秒產生的上下文切換次數,如當 cs 比磁盤 I/O 和網絡信息包速率高得多,都應進行進一步調查。
memory
swpd 切換到內存交換區的內存數量(k表示)。如果swpd的值不爲0,或者比較大,比如超過了100m,只要si、so的值長期爲0,系統性能還是正常
free 當前的空閒頁面列表中內存數量(k表示)
buff 作爲buffer cache的內存數量,一般對塊設備的讀寫才需要緩衝。
cache: 作爲page cache的內存數量,一般作爲文件系統的cache,如果cache較大,說明用到cache的文件較多,如果此時IO中bi比較小,說明文件系統效率比較好。
swap
si 由內存進入內存交換區數量。
so由內存交換區進入內存數量。
IO
bi 從塊設備讀入數據的總量(讀磁盤)(每秒kb)。
bo 塊設備寫入數據的總量(寫磁盤)(每秒kb)
這裏我們設置的bi+bo參考值爲1000,如果超過1000,而且wa值較大應該考慮均衡磁盤負載,可以結合iostat輸出來分析。
 
 
 
linux下查看系統資源和負載,以及性能監控的查看

1,查看磁盤

df -h

2,查看內存大小

free

free [-m|g]按MB,GB顯示內存

vmstat

3,查看cpu

cat /proc/cpuinfo

只看cpu數量grep "model name" /proc/cpuinfo | wc -l

4,查看系統內存

cat /proc/meminfo

5,查看每個進程的情況

cat /proc/5346/status 5347是pid

6,查看負載

w

uptime

7,查看系統整體狀態

top

最後一些輸出信息的解釋:

load average: 0.09, 0.05, 0.01

三個數分別代表不同時間段的系統平均負載(一分鐘、五 分鐘、以及十五分鐘),它們的數字當然是越小越好。“有多少核心即爲有多少負荷”法則: 在多核處理中,你的系統均值不應該高於處理器核心的總數量

進程使用的內存可以用top,有3個列VIRT RES SHR, 標示了進程使用的內存情況, VIRT標識這個進程可以使用的內存總大小, 包括這個進程真實使用的內存, 映射過的文件, 和別的進程共享的內存等. RES標識這個這個進程真實佔用內存的大小. SHR標識可以和別的進程共享的內存和庫大小.

8,性能監視sar命令

sar -u輸出顯示CPU信息。-u選項是sar的默認選項。該輸出以百分比顯示CPU的使用情況

CPU

CPU編號

%user

在用戶模式中運行進程所花的時間

%nice

運行正常進程所花的時間

%system

在內核模式(系統)中運行進程所花的時間

%iowait

沒有進程在該CPU上執行時,處理器等待I/O完成的時間

%idle

沒有進程在該CPU上執行的時間

sar 5 10 sar以5秒鐘間隔取得10個樣本

sar -u -p ALL 5 5 分cup顯示

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }

sar 提供六種不同的語法選項來顯示網絡信息。-n選項使用6個不同的開關:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV顯示網絡接口信息,EDEV顯示關於網絡錯誤的統計數據,NFS統計活動的NFS客戶端的信息,NFSD統計NFS服務器的信息,SOCK顯示套接字信息,ALL顯示所有5個開關。它們可以單獨或者一起使用。

sar -n DEV 各參數含義

IFACE

LAN接口

rxpck/s

每秒鐘接收的數據包

txpck/s

每秒鐘發送的數據包

rxbyt/s

每秒鐘接收的字節數

txbyt/s

每秒鐘發送的字節數

rxcmp/s

每秒鐘接收的壓縮數據包

txcmp/s

每秒鐘發送的壓縮數據包

rxmcst/s

每秒鐘接收的多播數據包

9,查看命令歷史(含時間戳)

export HISTTIMEFORMAT='%F %T ';history| more

10,查看文件夾和文件大小

du -h --max-depth=0 dm 查看dm目錄大小

du -h --max-depth=1 dm 查看dm目錄大小,以及dm各文件文件夾的大小

du -h --max-depth=0 查看當前文件夾大小

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