AIX 中的程序内存监控
任何人都可以建议可用于以编程方式检查内存使用情况的 AIX 系统调用吗?我正在使用一个大型多线程 C++ 应用程序,由于大量无限的内存缓存,该应用程序目前内存不足(在 AIX 6.1 上使用 32 位大内存模型)。我当然可以限制缓存的增长,但由于其复杂的结构,很难计算出它们有多大; IMO 更好的是评估该过程占用了多少内存并据此进行限制。
由于使用共享内存,使用非常大的内存模型是不可能的,而且短期内使用 64 位也不可行。
Can anyone advise of AIX system calls that can be used to programatically check memory usage? I'm working with a large multithreaded C++ app which is currently running out of memory (using 32 bit, large memory model on AIX 6.1) due to a large unlimited series of in-memory caches. I can certainly limit the caches' growth, but it is difficult due to their complex structure to work out how large they've got; much better IMO just to assess how much memory the process is taking up and limit based on that.
Using the very large memory model is not a possibility due to the use of shared memory, and going 64 bit is also not feasible in the short term.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 AIX,我发现以下内容在我的应用程序中运行良好:
我相信使用 vminfo (/usr/include/sys/vminfo.h) 您应该能够获取系统范围内使用的内存。
For AIX I found that the following work fine in my applications:
I believe that using vminfo (/usr/include/sys/vminfo.h) you should be able to get the used memory system-wide.