如何比较Linux和Windows上的应用程序内存使用情况?
我正在尝试比较在 Linux 和 Windows 下运行的应用程序的内存利用率 在同一台电脑上。是否有一种“快速而肮脏”的方法来规范 Windows 任务管理器 和 Linux top 实用程序的读数?
I'm trying to compare memory utilization of an application running under Linux and Windows
on the same PC. Is there a "quick and dirty" way to normalize readings from Windows task manager and Linux top utility?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将从这两个值中减去启动内存使用量。在应用程序开始时添加 10 秒的睡眠,并找出系统报告的值。然后从后面的读数中减去这些值,就可以得到动态分配消耗的内存量。
I would subtract startup memory usage from both values. Add a sleep of 10 seconds to the beginning of the application, and find out what values the systems report. Then subtract these values from later readings, and you get the amount of memory consumed by dynamic allocations.
我不了解 Linux,但对于 Windows,你会想使用
应用程序的“私有字节”。这称为“虚拟机
任务管理器中的“大小”(以及任务管理器中的“虚拟内存大小”)
对话框来选择它)。
“私有字节”是与以下内容直接相关的值:
应用程序中的内存分配。如果您分配 3 MB
这个值实际上会增加这么多(也许除了
对于某些分块,例如在许多 64 KB 块中。)
I don't know about Linux, but for Windows you will want to use
"Private Bytes" for the application. This is called "VM
Size" in Task Mananger (and "Virtual Memory Size" in the
dialog to select it).
"Private Bytes" is the value that is directly related to
memory allocations in your application. If you allocate 3 MB
this value will actually go up by this much (perhaps except
for some chunking, e.g. in a number of 64 KB blocks.)