Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2011-09-22) 设置linux的”最大打开文件数量

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

通过ulimit -n可以看到linux"最大打开文件数量"的默认值是1024。对于一些程序,如web服务,太小不够用。由于建立SOCKET会占用一个系统句柄,效果类似于打开了一个文件。LINUX默认的最大文件打开个数是1024(可能不同内核版本不一样),所以如果并发太多连接时就会报错。


可通过下面几个步骤修改:

  1. vi /etc/pam.d/login

    添加:

    session required /lib/security/pam_limits.so
    

注意看这个文件的注释

  1. vi /etc/security/limits.conf

    在最后添加:

    • nofile 819200
      • nproc 819200

*表示所有用户,如果想仅设置某一个用户,则换成其登录名,如www

设置的数值与硬件配置有关,别设置太大了。
  1. vi /etc/sysctl.conf

    在最后添加:

    fs.file-max = 819200
    

然后启用:

```

sysctl -p

4.  查看 `ulimit -a`,注意其中的`-n`那一行

    设置:

    ```
ulimit -n 819200
  1. echo 819200 > /proc/sys/fs/file-max

    查看:

    cat /proc/sys/fs/file-max 
    
comments powered by Disqus