这个程序的输出意味着什么?

时间:2015-09-28 07:22:12

标签: c linux

我正在尝试在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。我不应该期望当前进程允许的虚拟内存最大值吗?

1 个答案:

答案 0 :(得分:2)

RLIM_INFINITY表示对资源没有限制(在getrlimit()返回的结构和传递给setrlimit()的结构中)。

这些是流程的默认值。检查此常量的值。