亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Linux的系統性能如何檢測?

Linux的系統性能如何檢測?

HUWWW 2018-12-30 10:06:45
Linux的系統性能如何檢測?
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

網絡使用中,我們需要簡單的監測一下Linux系統的:CPU負載、內存消耗情況、幾個指定目錄的磁盤空間、磁盤I/O、swap的情況還有就是網絡流量。 今天上??炀W介紹Linux的系統性能監測參數獲取方法。

Linux下的性能檢測工具其實都有很多。

mrtg就是一個很不錯的選擇。不過用mrtg就要裝sysstat、apache、snmp、perl之類的東西。而且安裝也要好幾個步驟,似乎比較麻煩。本來也想直接調用sar、vmstat之類的命令,parse一下結果就算了。哪知道發現不同的版本的linux這些命令的結果也都是不一樣。既然要按版本 parse它們的結果,那還不如直接去系統里面獲得算了。于是研究了一下sysstat和gkrellm的源代碼,找到監測性能的數據所在。

1、CPU

在文件"/proc/stat"里面就包含了CPU的信息。每一個CPU的每一tick用在什么地方都在這個文件里面記著。后面的數字含義分別是: user、nice、sys、idle、iowait。有些版本的kernel沒有iowait這一項。這些數值表示從開機到現在,CPU的每tick用在了哪里。

就是cpu0從開機到現在有 256279030 tick用在了user消耗,11832528用在了sys消耗。所以如果想計算單位時間(例如1s)里面CPU的負載,那只需要計算1秒前后數值的差除以每一秒的tick數量就可以了。

2、內存消耗

文件"/proc/meminfo"里面包含的就是內存的信息,還包括了swap的信息。

3、磁盤空間

從gkrellm的源代碼看,這個是一個很復雜的數據。

4、磁盤I/O

磁盤I/O的數據也同樣比較復雜,有些版本看/proc/diskstats,有些版本看/proc/partitions,還有些版本至今我也不知道在那里看……不過可以看到數據的版本也像CPU那樣,需要隔一段時間取值,兩次取值的差就是流量。

5、網絡流量

網絡流量也是五花八門,不過基本上都可以在/proc/net/dev里面獲得。同樣也是需要兩次取值取其差作為流量值。


查看完整回答
反對 回復 2019-01-11
  • 1 回答
  • 0 關注
  • 922 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號