日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Linux 如何查看系統負載

 

操作系統的負載狀態,反映了應用程序的資源使用情況,從中能找出應用程序優化的瓶頸所在。

系統平均負載,是指處于運行或不可打擾狀態的進程的平均數。

處于運行,表示運行態,占用 CPU,或就緒態,等待 CPU 調度。

不可打擾,表示阻塞,正在等待 I/O

在 linux 系統中,要查看負載情況一般使用 uptime 命令(w 命令和 top 命令也行)*

一、uptime 命令

$ uptime
16:33:56 up 69 days, 5:10, 1 user, load average: 0.14, 0.24, 0.29

以上信息的解析如下:

  • 16:33:56 : 當前時間
  • up 69 days, 5:10 : 系統運行了 69 天 5 小時 10 分
  • 1 user : 當前有 1 個用戶登錄了系統 load average: 0.14, 0.24, 0.29 : 系統在過去 1 分鐘內,5 分鐘內,15 分鐘內的平均負載
  • load average: 0.14, 0.24, 0.29 : 系統在過去 1 分鐘內,5 分鐘內,15 分鐘內的平均負載

平均負載解析

查看邏輯 CPU 核心數:

$ grep 'model name' /proc/cpuinfo | wc -l
1

運行結果表示,有 1 個邏輯 CPU 核心。以 1 個 CPU 核心為例,假設 CPU 每分鐘最多處理 100 個進程 

  • load=0,沒有進程需要 CPU
  • load=0.5,CPU 處理了 50 個進程
  • load=1, CPU 處理了 100 個進程,這時 CPU 已被占滿,但系統還是能順暢運作的
  • load=1.5, CPU 處理了 100 個進程,還有 50 個進程正在排除等著 CPU 處理,這時,CPU 已經超負荷工作了

為了系統順暢運行,load 值最好不要超過 1.0,這樣就沒有進程需要等待了,所有進程都能第一時間得到處理。

很顯然,1.0 是一個關鍵值,超過這個值,系統就不在最佳狀態了。 一般 0.7 是一個比較理想的值。

另外,load 值的健康狀態還跟系統 CPU 核心數相關,如果 CPU 核心數為 2,那么 load 值健康值應該為 2,以此類推。

評價系統的負載一般采用 15 分鐘內的那個平均負載值。

二、w 命令

$ w
 17:47:40 up 69 days, 6:24, 1 user, load average: 0.46, 0.26, 0.25
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
lvinkim pts/0 14.18.144.2 15:55 0.00s 0.02s 0.00s w

第 1 行:與 uptime 一相同。

第 2 行以下,當前登錄用戶的列表。

三、top 命令

$ top
top - 17:51:23 up 69 days, 6:28, 1 user, load average: 0.31, 0.30, 0.26
Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.3%us, 0.2%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1922244k total, 1737480k used, 184764k free, 208576k buffers
Swap: 0k total, 0k used, 0k free, 466732k cached

 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
 1 root 20 0 19232 1004 708 S 0.0 0.1 0:01.17 init 
 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 
...

第 1 行:與 uptime 一相同。

第 2 行:進程數信息。

  • Tasks: 99 total : 總共有 99 個進程
  • 1 running : 1 個進程正在占用 CPU
  • 98 sleeping : 98 個睡眠進程
  • 0 stopped : 0 個停止的進程
  • 0 zombie : 0 個僵尸進程

第 3 行 : CPU 使用率

  • us (user): 非 nice 用戶進程占用 CPU 的比率
  • sy (system): 內核、內核進程占用 CPU 的比率
  • ni (nice): 用戶進程空間內改變過優先級的進程占用 CPU 比率
  • id (idle): CPU 空閑比率,如果系統緩慢而這個值很高,說明系統慢的原因不是 CPU 負載高
  • wa (iowait): CPU 等待執行 I/O 操作的時間比率,該指標可以用來排查磁盤 I/O 的問題,通常結合 wa 和 id 判斷
  • hi (Hardware IRQ): CPU 處理硬件中斷所占時間的比率
  • si (Software Interrupts): CPU 處理軟件中斷所占時間的比率
  • st (steal): 流逝的時間,虛擬機中的其他任務所占 CPU 時間的比率

需要注意的一些情形:

  • 用戶進程 us 占比高,I/O 操作 wa 低:說明系統緩慢的原因在于進程占用大量 CPU,通常還會伴有教低的空閑比率 id,說明 CPU 空轉時間很少。
  • I/O 操作 wa 低,空閑比率 id 高:可以排除 CPU 資源瓶頸的可能。
  • I/O 操作 wa 高:說明 I/O 占用了大量的 CPU 時間,需要檢查交換空間的使用,交換空間位于磁盤上,性能遠低于內存,當內存耗盡開始使用交換空間時,將會給性能帶來嚴重影響,所以對于性能要求較高的服務器,一般建議關閉交換空間。另一方面,如果內存充足,但 wa 很高,說明需要檢查哪個進程占用了大量的 I/O 資源。

更多負載情形,可在實際中靈活判斷。

四、IOStat 命令

iostat 命令可以查看系統分區的 IO 使用情況

$ iostat 
Linux 2.6.32-573.22.1.el6.x86_64 (sgs02) 01/20/2017 _x86_64_ (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
 2.29 0.00 0.25 0.04 0.00 97.41

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
vda 1.15 3.48 21.88 21016084 131997520

一些值得注意的 IO 指標 :

  • Device : 磁盤名稱
  • tps : 每秒 I/O 傳輸請求量
  • Blk_read/s : 每秒讀取多少塊,查看塊大小可參考命令 tune2fs
  • Blk_wrtn/s : 每秒寫取多少塊
  • Blk_read : 一共讀了多少塊
  • Blk_wrtn : 一共寫了多少塊

五、iotop 命令

iotop 命令類似于 top 命令,但是顯示的是各個進程的 I/O 情況,對于定位 I/O 操作較重的進程有比較大的作用。

# iotop
Total DISK READ: 0.00 B/s | Total DISK WRITE: 774.52 K/s
 TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 
 272 be/3 root 0.00 B/s 0.00 B/s 0.00 % 4.86 % [jbd2/vda1-8]
 9072 be/4 MySQL 0.00 B/s 268.71 K/s 0.00 % 0.00 % mysqld
 5058 be/4 lvinkim 0.00 B/s 3.95 K/s 0.00 % 0.00 % php-fpm: pool www
 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init

可以看到不同任務的讀寫強度。

六、sysstat 工具

很多時候當檢測到或者知道歷史的高負載狀況時,可能需要回放歷史監控數據,這時 sar 命令就派上用場了,sar 命令同樣來自 sysstat 工具包,可以記錄系統的 CPU 負載、I/O 狀況和內存使用記錄,便于歷史數據的回放。

sysstat 的配置文件在 /etc/sysconfig/sysstat 文件,歷史日志的存放位置為 /var/log/sa

統計信息都是每 10 分鐘記錄一次,每天的 23:59 會分割統計文件,這些操作的頻率都在 /etc/cron.d/sysstat 文件配置。

七、sar 命令

使用 sar 命令查看當天 CPU 使用:

$ sar
Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)

10:50:01 AM CPU %user %nice %system %iowait %steal %idle
11:00:01 AM all 0.45 0.00 0.22 0.40 0.00 98.93
Average: all 0.45 0.00 0.22 0.40 0.00 98.93

使用 sar 命令查看當天內存使用:

$ sar -r
Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)

10:50:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
11:00:01 AM 41292 459180 91.75 44072 164620 822392 164.32
Average: 41292 459180 91.75 44072 164620 822392 164.32

使用 sar 命令查看當天 IO 統計記錄:

$ sar -b
Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)

10:50:01 AM tps rtps wtps bread/s bwrtn/s
11:00:01 AM 3.31 2.14 1.17 37.18 16.84
Average: 3.31 2.14 1.17 37.18 16.84

更多 sar 用法,請 man sar 。

分享到:
標簽:負載 系統 Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定