按下面说的,可以用ulimit -n 32768设置最大描述符,不过只对当前会话有用,而且要root,这个不好办
http://www.nsfocus.net/index.php?act=magazine&do=view&mid=134
PAM 大多数的LINUX都内建了PAM支持。PAM的一个功能是系统环境设置,例如设置某个用户允许使用的系统内存大小等。在Red Hat和Caldera这 两个发行版本的 /etc/security/ 目录下包含了许多可配置文件。最有趣的当属 /etc/security/limits.conf 文件,它允许你定义用户或用户 组规则,规则是“软(soft)”或“硬(hard)”,规则的内容(如CPU、内存、最大文件大小等)。例如: * hard core 0 第一行规则禁止所有人产生core文件,第二行规则(软)定义用户bob的最大进程数为100, 第三行规则(硬)定义用户bob的最大进程数为150 。可以超出软规则的限制(警告),但不 能超过硬规则的限制。你可以想像得到,这些规则定义到所有用户的登录SHELL和FTP等服务 时是很 有帮助的。 Bash 删除这些文件)中定义了限制规则,你就能对用户的Bash shell实施限制。这对于缺少PAM支持的LINUX旧发行版本是很有用的。你还必须确保 用户不能改变他们的登录shell。限制的设置与PAM相似。例如: ulimit –Sc 0 http://www.ringkee.com/jims/read_folder/books/LinuxHackingExposed
http://tech.blogchina.com/123/2005-06-10/372941.html sysctl:显示(或设置)系统内核参数 sysctl -a 显示所有内核参数 sysctl -w 参数名=参数值 例如:sysctl -w fs.file-max=10240 设置系统允许同时打开的最大文件数为10240。 内核参数fs.file-nr包括三个参数值,第一个参数表示系统中曾经同时打开过的文件数峰值, 第三个参数表示可以打开的最大文件数,其值等于fs.file-max。 当前打开的文件数 = 第一个参数值 - 第二个参数值 例如: fs.file-nr = 977 223 10240 当前打开的文件数 = 977 - 233 = 744 设置内核参数时务必小心,如果设置不当会导致系统异常,甚至当机。 ulimit:显示(或设置)用户可以使用的资源限制 ulimit -a 显示用户可以使用的资源限制 ulimit unlimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files) 和可同时运行的最大进程数(max user processes)无效 ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max open files) 例如:ulimit -n 8192 如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误 ulimit -u <可以运行的最大并发进程数> 设置用户可以同时运行的最大进程数(max user processes) 例如:ulimit -u 1024 IBM JVM for Linux on POWER 的性能调优技巧 暂时地,适用于通过 ulimit 命令登录 shell 会话期间。 通过编辑 /etc/security/limits.conf。 建议设置成无限制(unlimited)的一些重要设置是: 数据段长度:ulimit –d unlimited 对于需要做许多套接字连接并使它们处于打开状态的 Java 应用程序而言,最好通过使用 ulimit –n,或者通过设置 /etc/security/limits.conf 中的 nofile 参数,为用户把文件描述符的数量设置得比默认值高一些。 1./etc/security/limits.conf |