在前面的文章中我们曾向大家介绍了新萝卜家园系统Win7_Ghost免激活版7.0的相关内容,不知道大家觉得怎么样呢!现在我们要向大家介绍的就是怎么样来获取Linux系统性能监测参数!下面大家还是跟着我们txwb网吧联盟的网吧系统栏目一起去看看吧!
其实Linux系统下的性能检测工具其实都有很多,mrtg就是其中一个。不过用mrtg似乎比较麻烦。于是研究了一下sysstat的源代码,找到监测性能的数据所在。
1、CPU的信息在"/proc/stat"文件里就包含了。这个文件里面记着CPU的每一tick用在什么地方。后面的数字含义分别是:user、nice、sys、idle、iowait。有些版本的kernel没有iowait这一项。如:CPU02562790300118325281637168262
这个就表示cpu0从开机到现在有256279030tick用在了user消耗,11832528用在了sys消耗。大家想计算单位时间(如1s)里面CPU的负载的话,只需计算1秒前后数值的差除以每一秒的tick数量就行了。
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的数据也比较复杂,有些版本看/proc/diskstats,有些看/proc/partitions,还有些版本我们也不知道在哪里看,但可以看到数据的版本也像CPU那样,需要隔一段时间取值,两次取值的差就是流量。
5、网络流量基本上都可以在/proc/net/dev里面获得。同样也是需要两次取值取其差作为流量值。
获取Linux系统性能监测参数的方法我们就说完了,大家如果还有不明白的地方的话也可以去本站的网吧系统栏目去查找,如果找不到解决办法,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!
本文来源:网络整理 作者:佚名