c - 这个程序的输出是什么意思?

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

最佳答案

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

这些是进程的默认值。检查该常量的值。

关于c - 这个程序的输出是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817636/

相关文章:

c - 当用户键入 E 或 V( View )时,如何退出程序?

c - 我在与 c 中的整数值进行比较时遇到问题。无法使用 '==' 运算符进行比较

c++ - CMake 用户构建的库;无法为目标指定链接库

linux - bash 终端和 Goland IDE 中的不同 GOPATH

c - 如何在 C 中存储配置文件中的动态分隔字段?

c 将 typedef 放入结构中

iphone - Ruby on Rails 是异步通知 iPhone 应用程序更新的解决方案吗?

linux - 如何正确循环这个 BASH 语句?

linux - 如何在 vi 编辑器中删除特定行号?

c - 如何使用文件将 printf 作为输入提供给 C 程序?