首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AIX中的程序化内存监控

AIX中的程序化内存监控
EN

Stack Overflow用户
提问于 2012-01-09 16:14:06
回答 1查看 874关注 0票数 3

有没有人建议使用AIX系统调用来以编程方式检查内存使用情况?我正在使用一个大型多线程C++应用程序,由于大量无限系列的内存缓存,该应用程序目前正在耗尽内存(在AIX6.1上使用32位大内存模型)。我当然可以限制缓存的增长,但由于它们的复杂结构,很难计算出它们有多大;更好的做法是评估进程占用了多少内存并基于此进行限制。

由于共享内存的使用,使用超大内存模型是不可能的,而且在短期内使用64位也是不可行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-25 04:19:07

对于AIX,我发现以下内容在我的应用程序中可以很好地工作:

代码语言:javascript
复制
#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)应该能够获得系统范围内使用的内存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8785469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档