AIX 中的程序内存监控

发布于 2024-12-25 13:00:21 字数 228 浏览 6 评论 0原文

任何人都可以建议可用于以编程方式检查内存使用情况的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独自唱情﹋歌 2025-01-01 13:00:21

对于 AIX,我发现以下内容在我的应用程序中运行良好:

#include <unistd.h>
#include <sys/types.h>
#include <sys/resource.h>

// total physical memory (in bytes)
size_t total_memory = sysconf(_SC_AIX_REALMEM) * 1024;

// maximum resident set of the process
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
size_t used_memory = (usage.ru_maxrss)*1024);

我相信使用 vminfo (/usr/include/sys/vminfo.h) 您应该能够获取系统范围内使用的内存。

For AIX I found that the following work fine in my applications:

#include <unistd.h>
#include <sys/types.h>
#include <sys/resource.h>

// total physical memory (in bytes)
size_t total_memory = sysconf(_SC_AIX_REALMEM) * 1024;

// maximum resident set of the process
struct rusage usage;
getrusage(RUSAGE_SELF, &usage);
size_t used_memory = (usage.ru_maxrss)*1024);

I believe that using vminfo (/usr/include/sys/vminfo.h) you should be able to get the used memory system-wide.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文