Linux本身对每个用户拥有的最大进程数有限制。可以在用户根目录下的“ .bashrc”文件或
者实际使用与“ .bashrc”功能相当的 shell的脚本中加入这种限制。编辑“ .bashrc”文件(例如:
vi /root/.bashrc)并加入下面一行:
ulimit -u unlimited
然后退出,重新登录。为了验证,可以以 root身份登录,然后键入: ulimit -a,在最大用户
进程数一项中应该显示 unlimited,例如:
[root@Aid]# ulimit -a
core file size (blocks) 1000000
data seg size (kbytes) unlimited
file size (blocks) unlimited
max memory size (kbytes) unlimited
stack size (kbytes) 8192
cpu time (seconds) unlimited
max user processes unlimited * this line.
pipe size (512 bytes) 8
open files 1024
virtual memory (kbytes) 2105343
注意我们更倾向于在命令行键入 unlimit -u而不是把它加入到文件“ /root/.bashrc”中。
但为保险起见,建议还是把它加入文件“ /root/.bashrc”中
增加系统打开的文件数目
增加当前进程打开文件的数目。 RedHat 6.0(内核 2.2.5)中,使用这种方法进程可以至少打
开31000个文件描述符;内核版本 2.2.12中,可以至少打开 90000个文件描述符(在适当的限制下)。
它的上限仅受限于可用内存。
编辑“.bashrc”文件(例如: vi /root/.bashrc)并加入下面一行:
ulimit -n 90000
然后退出,重新登录。为了验证,可以以 root身份登录,然后键入“ ulimit -a”,在打开文件
数一项中应该显示“ 90000”,例如:
[root@Aid]# ulimit -a
core file size (blocks) 1000000
data seg size (kbytes) unlimited
file size (blocks) unlimited
max memory size (kbytes) unlimited
stack size (kbytes) 8192
cpu time (seconds) unlimited
max user processes unlimited
pipe size (512 bytes) 8
open files 90000 * this line.
virtual memory (kbytes) 2105343
注意在早于 2.2版内核的系统中,即使进行了上述修改,每个进程所能打开的文件数目仍然限制在1024。