select的限制
用select实现的并发服务器,能达到的并发数一般受两方面限制:
1)一个进程能打开的最大文件描述符限制。这可以通过调整内核参数来改变。可以通过ulimit -n(number)来调整或者使用setrlimit函数设置(需要root权限),但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看。
...
分类:
系统相关 时间:
2015-10-21 00:24:10
阅读次数:
359
我们都知道在linux环境下,通过ulimit -c size 命令能方便的打开或关闭coredump功能,从而生成core文件,便于调试。但是对于如何用代码控制生成core文件,可能很多人就不知道了。我们一起来看下,其实也很简单。
首先需要了解两个函数:
int getrlimit(int resource, struct rlimit *rlim);
int s...
分类:
系统相关 时间:
2015-04-16 22:02:11
阅读次数:
287
在linuxkernel2.6.25之前通过ulimit-n(setrlimit(RLIMIT_NOFILE))设置每个进程的最大打开文件句柄数不能超过NR_OPEN(1024*1024),也就是100多w(除非重新编译内核),而在2.6.25之后,内核导出了一个sys接口可以修改这个最大值(/proc/sys/fs/nr_open).具体的changelog:http://git..
分类:
系统相关 时间:
2015-04-14 20:25:08
阅读次数:
147
select的限制用select实现的并发服务器,能达到的并发数一般受两方面限制:1)一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n(number)来调整或者使用setrlimit函数设置,但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/file-max 查看/**示例: getrlimit/setrlimit...
分类:
其他好文 时间:
2015-03-14 21:50:34
阅读次数:
212
http://blog.csdn.net/summerhust/article/details/18260117 select用到了fd_set结构,此处有一个FD_SETSIZE决定fd_set的容量,FD_SETSIZE默认1024,可以通过ulimit -n或者setrlimit函数修改之。 ...
分类:
其他好文 时间:
2015-02-16 15:31:55
阅读次数:
156
1,设定进程的最大资源[cpp]view plaincopystructrlimitrlim;rlim.rlim_cur=8192;rlim.rlim_max=8192;if(setrlimit(RLIMIT_NOFILE,&rlim)){ERROR("ErrorsettingRLIMIT_NOFI...
分类:
系统相关 时间:
2014-10-26 09:05:16
阅读次数:
190
http://www.cnblogs.com/niocai/archive/2012/04/01/2428128.html功能描述:获取或设定资源使用限制。每种资源都有相关的软硬限制,软限制是内核强加给相应资源的限制值,硬限制是软限制的最大值。非授权调用进程只可以将其软限制指定为0~硬限制范围中的某...
分类:
系统相关 时间:
2014-05-12 14:00:13
阅读次数:
518