下面列表为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_COREcore文件的最大尺寸,如果为0说明不能创建core文件
RLIMIT_CPUCPU时间的最大值(单位:秒)
RLIMIT_DATA数据段大小的最大值
RLIMIT_FSIZE创建文件的大小的最大值
RLIMIT_LOCKS进程可建立的文件锁的数量的最大值
RLIMIT_MEMLOCK进程中使用mlock锁定内存的最大尺寸
RLIMIT_NOFILE进程中文件的打开数量的最大值
RLIMIT_NPROC每个real user id的子进程数量的最大值
RLIMIT_RSS最大常驻存储区大小
RLIMIT_SBSIZEsocket缓冲的大小的最大值
RLIMIT_STACK栈的最大尺寸
RLIMIT_VMEM=RLIMIT_AS

 

平台支持


限制

FreeBSD 5.2.1

Linux 2.4.22Mac OS X 10.3Solaris 9
RLIMIT_ASN N 
RLIMIT_CORE    
RLIMIT_CPU    
RLIMIT_DATA    
RLIMIT_FSIZE    
RLIMIT_LOCKSN NN
RLIMIT_MEMLOCK   N
RLIMIT_NOFILE    
RLIMIT_NPROC   N
RLIMIT_RSS   N
RLIMIT_SBSIZE NNN
RLIMIT_STACK    
RLIMIT_VMEM NN



Logo

更多推荐