我正在尝试在Linux中获取当前进程的最大虚拟内存。我正在使用getrlimit()
#include <stdio.h>
#include <sys/time.h>
#include <sys/resource.h>
struct rlimit rlim;
getrlimit(RLIMIT_AS,&rlim);
printf("Soft limit %ld",rlim.rlim_cur);
printf("Hard limit %ld",rlim.rlim_max);
我在两个值中得到-1。我不应该期望当前进程允许的虚拟内存最大值吗?
答案 0 :(得分:2)
值RLIM_INFINITY
表示对资源没有限制(在getrlimit()
返回的结构和传递给setrlimit()
的结构中)。
这些是流程的默认值。检查此常量的值。