下面列表为unix/linux 系统单进程资源参数限制,服务器开发中 RLIMIT_CORE 参数用得多(当需要产生core dump时)。


代码片段:


memset(&limit, 0, sizeof(limit));
limit.rlim_cur = RLIM_INFINITY;
limit.rlim_max = RLIM_INFINITY;
if(setrlimit(RLIMIT_CORE, &limit)) {
spd_log(LOG_WARNING, " unable to disable core size res limit %s\n", strerror(errno));
}

if(getrlimit(RLIMIT_CORE, &limit)) {
spd_log(LOG_WARNING, "unable to check rlimit of fd%s\n", strerror(errno));
}


名称

意义

RLIMIT_AS

进程总共可用的内存大小的最大值

RLIMIT_CORE

core文件的最大尺寸,如果为0说明不能创建core文件

RLIMIT_CPU

CPU时间的最大值(单位:秒)

RLIMIT_DATA

数据段大小的最大值

RLIMIT_FSIZE

创建文件的大小的最大值

RLIMIT_LOCKS

进程可建立的文件锁的数量的最大值

RLIMIT_MEMLOCK

进程中使用mlock锁定内存的最大尺寸

RLIMIT_NOFILE

进程中文件的打开数量的最大值

RLIMIT_NPROC

每个real user id的子进程数量的最大值

RLIMIT_RSS

最大常驻存储区大小

RLIMIT_SBSIZE

socket缓冲的大小的最大值

RLIMIT_STACK

栈的最大尺寸

RLIMIT_VMEM

=RLIMIT_AS

 

平台支持

限制

FreeBSD 5.2.1

Linux 2.4.22

Mac OS X 10.3

Solaris 9

RLIMIT_AS

N

 

N

 

RLIMIT_CORE

 

 

 

 

RLIMIT_CPU

 

 

 

 

RLIMIT_DATA

 

 

 

 

RLIMIT_FSIZE

 

 

 

 

RLIMIT_LOCKS

N

 

N

N

RLIMIT_MEMLOCK

 

 

 

N

RLIMIT_NOFILE

 

 

 

 

RLIMIT_NPROC

 

 

 

N

RLIMIT_RSS

 

 

 

N

RLIMIT_SBSIZE

 

N

N

N

RLIMIT_STACK

 

 

 

 

RLIMIT_VMEM

 

N

N