国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

新手學堂:當前Linux系統運行的各種參數

2024-07-26 00:37:41
字體:
來源:轉載
供稿:網友

1、CPU

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

cpu0 256279030 0 11832528 1637168262

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

例如,第一次讀取/proc/stat,user的值是256279030;一秒以 后再讀一次,值是256289030,那么CPU在這一秒的user消耗就是:((200 * (256289030 - 256279030) / CPU_TICKS_PER_SECOND) + 1) /2 = ((10000 * 200 / 1000000) + 1) / 2 = 1%了。

2、內存消耗

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

$ cat /proc/meminfo

total: used: free: shared: buffers: cached:

Mem: 1057009664 851668992 205340672 0 67616768 367820800

Swap: 2146787328 164429824 1982357504

MemTotal: 1032236 kB

MemFree: 200528 kB

MemShared: 0 kB

……

不過從gkrellm的源代碼看,有些版本沒有前面那兩行統計的信息,只能夠根據下面的Key: Value這種各式的數據收集。

3、磁盤空間

從gkrellm的源代碼看,這個是一個很復雜的數據。磁盤分區的數據有可能分布在:/proc/mounts、/proc/diskstats、 /proc/partitions等等。而且如果想要檢查某幾個特定的路徑,還需要通過mount、df等命令的幫助。為了減少麻煩,這個數據我就直接用 statfs函數直接獲得了。

int statfs(const char *path, struct statfs *buf);

這個函數只需要輸入需要檢查的路徑名稱,就可以返回這個路徑所在的分區的空間使用情況:

總空間:buf.f_bsize * buf.f_blocks

空余空間:buf.f_bsize * buf.f_bavail

4、磁盤I/O

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

5、網絡流量

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永靖县| 房产| 茌平县| 内黄县| 郁南县| 玉林市| 调兵山市| 三河市| 海阳市| 中山市| 柏乡县| 临安市| 安庆市| 且末县| 南汇区| 阜康市| 开封市| 扎赉特旗| 高平市| 登封市| 乌鲁木齐县| 丰台区| 尤溪县| 潼南县| 托里县| 闽清县| 永城市| 武定县| 通州区| 吴旗县| 礼泉县| 和平县| 方正县| 阜康市| 沭阳县| 黄平县| 玉溪市| 鲁甸县| 平原县| 昆山市| 汪清县|