需要Linux内存利用率工具

时间:2011-12-04 17:32:12

标签: linux memory ubuntu virtual-machine utilization

我正在研究一篇论文,我必须测量VM的使用和功耗。

为此,我创建了一个虚拟机,然后登录并启动lookbusy process,利用分配的内存到最大值。

然而,我注意到(主机系统的)实际内存使用量在几分钟的VM利用率之后开始下降。

但是,当我重新登录VM时,它显示了完全利用率。

假设我的VM分配了2GB。当我开始使用时,VM和主机都显示2GB正在加载。

然而,片刻之后,主机的内存开始减少并停止在大约400MB,尽管VM仍然在最大工作。

我认为它只与使用所需的mem页面有关,而不是与整个分配的内存有关。

这就是为什么我现在需要你的帮助 - 我需要一个让我利用分配的内存的工具,

但也保留了真实主机的内存,以便我在这种负载下测量主机的功耗。

事实上,如果内存使用量在1-2分钟后没有开始下降,那么

Lookbusy就会完成它的工作。测量需要持续数天!

3 个答案:

答案 0 :(得分:1)

您没有提供很多细节......但是,根据使用情况,您可能会看到ksm(内核同页合并)的影响。检查ksm是否已启用。

答案 1 :(得分:1)

“气球记忆”也可能是一个问题,例如使用VMWare:

http://www.virtualinsanity.com/index.php/2010/02/19/performance-troubleshooting-vmware-vsphere-memory/

PS: 如果你想生成过多的内存使用,并且你的VM(客户操作系统)是Linux,那么你总是可以使用“memtester”:

http://linux.die.net/man/8/memtester

答案 2 :(得分:0)

如果要测量特定进程(例如进程ID为1234)的内存消耗,/proc/1234/目录与进程本身内部相关(或/proc/self/)。特别是那里的statstatmstatusmaps伪文件。例如,cat /proc/self/mapscat /proc/self/status为您提供有关cat进程本身的信息。

我不确定“测量VM”是什么意思; AFAIK虚拟机,例如Qemu吃掉了他们指定的记忆。

我也很好奇你如何测量功耗。