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。