vmstat计算内存和CPU使用率
在进行性能测试的时候,我们需要去生成服务器的一些性能图表,这时开发team会给我们一些monitor的数据信息,最常见的就是vmstat命令记录的数据。对我们比较有用的也就两列数据,Free和Id,通过Free和Id两列数据,我们就可以计算出服务器的内存和CPU使用率,并使用Excel生成相应的曲线图表。
不过在做项目的具体过程中,好多同事对Free的单位都不是很了解,上网搜索,答案也是千变万化,有的说是KB有的说是4KB。
其实准确的来说Free的单位应该是Pages,如果我们要计算具体的Free Memory的话,就得先知道对应服务器的Page Size,可以通过命令 getconf PAGE_SIZE 来得到相关的信息,接下来我们就可以计算具体的内存和CPU使用率了。
CPU使用率的计算是比较简单的,直接用100-Id所得到的就是对应时刻的CPU使用率的,计算内存的使用率可以使用(RAM-Free)/RAM*100%来计算,不过这里面我们必须先统一单位,呵呵,有的小学数学的感觉啊,比如我们获得的RAM是8G,PAGE_SIZE是4096(4K),Free是1000000的话,具体的计算公式就是(16G-100000*4KB)/16G*100%=(16-1000000*4/1024/1024)/16*100%=52.32%。
[ 本帖最后由 ziheng198688 于 2010-4-27 18:10 编辑 ] 学习了
页:
[1]