【问题标题】:In need of a Linux memory-utilization tool需要一个 Linux 内存利用工具
【发布时间】:2011-12-04 17:32:11
【问题描述】:

我现在正在撰写一篇论文,我必须测量虚拟机的使用情况和功耗。

为此,我创建了一个 VM,然后登录它并启动一个 lookbusy process,它最大限度地利用分配的内存。

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

不过,当我重新登录到 VM 时,它会显示全部利用率。

假设我的虚拟机分配了 2GB。当我开始使用时,VM 和主机都显示 2GB 处于负载状态。

然而,过了一会儿,主机的内存开始减少并停止在大约 400MB,尽管 VM 仍然在最大工作。

我认为这与仅使用所需的内存页有关,而不是与整个分配的内存有关。

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

还要保持真实主机的内存利用率,以便我测量主机在这种负载下的功耗。

Lookbusy 实际上会完成它的工作,如果内存使用量在 1-2 分钟后不会开始下降。测量需要持续数天!

【问题讨论】:

  • 请格式化您的问题以便阅读。

标签: linux memory ubuntu virtual-machine utilization


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    “气球内存”也可能是一个问题,例如 VMWare:

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

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

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

    【讨论】:

    • 您好,感谢您的回答。看来我真的体验到了 KSM 的影响,这就是我试图禁用它的原因。但是,在这种情况下,我遇到了另一个问题 - 主机的内存现在保持使用状态,但是在我完成 VM 中的使用后,主机仍然说 2GB 已加载,尽管没有进程正在加载它。另一方面,这可能是一个 virtio 气球问题。
    • 为您提供更多信息 - 对于我的项目,我需要通过主机创建和迁移虚拟机。为了能够做到这一点,我使用了一个名为“opennebula”(www.opennebula.org)的框架,只需单击一下即可完成所有操作。然而,Opennebula 通过 KVM 工作,自行创建 xml 文件等。由于我必须使用 opennebula,我无法在 KVM 本身中更改任何内容,无法创建 xml 文件或任何内容 - 一切都必须通过这个自动完成框架。
    • 这就是我的问题出现的时候!我已经尝试过“memtester”程序,它看起来很有希望,但它在大约之后停止。 5 秒,即使我将迭代次数设置为一百万左右。你知道那里可能发生什么吗?有关此类程序的更多提示????请帮忙! :(
    【解决方案3】:

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

    我不确定您所说的“测量 VM”是什么意思; AFAIK 虚拟机,例如Qemu 吃掉他们指定的内存。

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

    【讨论】:

    • 嗯,我猜你不太明白我的问题。我不想看到单个进程的内存消耗,但我需要一个可以利用虚拟机的虚拟内存的进程!有些程序倾向于这样做(例如“stress”、“lookbusy”或“prime95”),但正如我上面解释的那样,问题是运行 VM 的主机的实际内存开始减少.这就是为什么我需要一个程序来保持虚拟内存的利用率并防止这种下降!
    • 哦,关于功耗 - 我有一个力登电源分配单元,我的服务器已插入其中。该电源单元允许通过 SNMP 查询每个电源插座的当前功耗(以瓦特为单位)。
    • 编写一个消耗大量内存的程序对我来说似乎不是问题......(例如,一个程序在 Scheme 解释器中分配一个由 2**20 个元素组成的大树)。
    • 好吧,我不是一个计算机科学家和程序员,所以我希望有人能帮助我:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2010-09-11
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多