|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
1、CPU
在文件“/proc/stat”内里就包括了CPU的信息。每个CPU的每tick用在甚么中央都在这个文件内里记住。前面的数字寄义分离是:user、nice、sys、idle、iowait.有些版本的kernel没有iowait这一项。这些数值暗示从开机到如今,CPU的每tick用在了那里。比方:
cpu02562790300118325281637168262
就是cpu0从开机到如今有256279030tick用在了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:1057009664851668992205340672067616768367820800
Swap:21467873281644298241982357504
MemTotal:1032236kB
MemFree:200528kB
MemShared:0kB
……
不外从gkrellm的源代码看,有些版本没有后面那两行统计的信息,只可以依据上面的Key:Value这类各式的数据搜集。
3、磁盘空间
从gkrellm的源代码看,这个是一个很庞大的数据。磁盘分区的数占有大概散布在:/proc/mounts、/proc/diskstats、/proc/partitions等等。并且假如想要反省某几个特定的路径,还必要经由过程mount、df等命令的匡助。为了削减贫苦,这个数据我就间接用statfs函数间接取得了。
intstatfs(constchar*path,structstatfs*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内里取得。一样也是必要两次取值取其差作为流量值</p>
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。 |
|