#include <stdio.h>
#include <unistd.h>
#include <sys/utsname.h> // uname()
#include <sys/resource.h> // getrlimt(), setrlimit()
int main(void)
{
// linux version
struct utsname uname_out;
uname(&uname_out);
printf("Linux version = %s\n", uname_out.release);
// 内存限制 rlimit
struct rlimit rlim = {RLIM_INFINITY, RLIM_INFINITY};
/* Allow unlimited locking of memory, so all memory needed for packet
* buffers can be locked.
*/
if (0 != setrlimit(RLIMIT_MEMLOCK, &rlim)) {
fprintf(stderr, "ERROR: setrlimit(RLIMIT_MEMLOCK) \"%s\"\n", strerror(errno));
exit(EXIT_FAILURE);
}
rlim.rlim_cur = 0;
rlim.rlim_max = 0;
getrlimit(RLIMIT_MEMLOCK, &rlim);
printf("rlim.rlim_cur=0x%lx\n", (long)rlim.rlim_cur);
printf("rlim.rlim_max=0x%lx\n", (long)rlim.rlim_max);
printf("RLIM_INFINITY=0x%lx\n", (long)RLIM_INFINITY);
fflush(stdout);
return 0;
}
网友评论