Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1229312
  • 博文数量: 233
  • 博客积分: 6270
  • 博客等级: 准将
  • 技术积分: 1798
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 08:32
文章分类

全部博文(233)

文章存档

2011年(31)

2010年(202)

我的朋友

分类: LINUX

2010-09-27 17:08:13

UNIX系统,包括Linux,所支持的最大文件数收到其内核参数大小的限制,简单总结了一下:

---------------->Linux
这里以Redhat Linux为例,配置 Red Hat Linux 服务器时,必须确保最大文件句柄数足够大。一般是8192。文件句柄的设置表示您在 Linux 系统上可以打开的文件数。
使用以下命令来确定整个系统中文件句柄的最大数量:
# cat /proc/sys/fs/file-nr
第一个值是系统已经分配的句柄数(你可以理解为系统打开最大的句柄数),第二个值是系统当前使用句柄数,第三个值是系统允许打开得句柄数,如果第一个值等于第三个值你需要考虑是否需要增加系统打开的句柄数。可以使用如下命令实现。
在脚本/etc/rc.d/rc..local中添加一行:echo 10240 >; /proc/sys/fs/file-max  (举例)
或者
在/boot/.bashrc中加入:
ulimit -u unlimited
ulimit -n 20480
然后所有普通用户的open files都变为20480了,用户最大进程数变为ulimited了。

---------------->FreeBSD
编辑/etc/sysctl.conf文件(或者sysctl -w,参看SYSCTL.CONF(5)) 
kern.maxfiles=65536 
kern.maxfilesperproc=32768

---------------->HP-UX
由内核参数控制,maxfiles和maxfiles_lim。
maxfiles Minimum = 30 Maximum = 60000 Default = 60 ; maxfiles_lim Minimum = 30 Maximum = 60000 Default =
1024
maxfiles specifies the system default soft limit for the number of files a process is allowed to have open at any given time. It is possible for a process to increase its soft limit and therefore open more than maxfiles files.Non-superuser processes can increase their soft limit until they reach the hard limit (maxfiles_lim
).

To be useful, the value assigned to maxfiles must be less than the value of maxfiles_lim. maxfiles_lim is useful only if it does not exceed the limits imposed by nfile and ninode.

---------------->Solaris
从Solaris 2.4开始,可以通过修改/etc/system实现 

    * set hard limit on file descriptors 
    set rlim_fd_max = 4096 
    * set soft limit on file descriptors 
    set rlim_fd_cur = 1024

Solaris 7之前,select()使用的文件句柄数不能超过1024;Solaris 7下select()可以使用最多达65536的文件句柄,64-bit应用程序缺省情况如此。如果是32-bit应用程序,需要指定给FD_SETSIZE一个更大的值,重新编译。

 Mengxuan'Blog版权,联系方式(Mail): ,转载请注明原作者及地址!

阅读(1040) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~