• {{ item.name }}
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

CentOS 6.3 Too many open files 错误的解决

  • iansiu
  • 2016-03-20
  • 0

最近,老有人向我反馈,shadowsocks连接不上,我ssh登陆一查日志,全是 Too many open files 报错。

我首先想到的是ulimit最大连接数,不过,我以前就已经设置成了51200啊,难道还不够用?

ulimit -a 查看一下

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 193064
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 51200
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

命令的结果也是51200,难道没有生效?

编辑 /etc/security/limits.conf 加入两行

* soft nofile 51200
* hard nofile 51200

保存,重启还是没有生效,虽然ulimit -a 显示 51200

可以用这个命令查看

cat /proc/`pgrep python | head -1`/limits | grep 'open files'

Max open files            1024                 4096                 files

果不其然,还是默认的1024。

怎么办?我水平也很菜,既然能翻了,就去谷歌吧。

找到一篇日本人写得文章:http://d.hatena.ne.jp/akishin999/20130213/1360711554

方法是这样

vim /etc/initscript 加入以下内容

ulimit -n 51200
eval exec "$4"

重启,看结果,还是不行。

再试试第二个方法

vim /etc/sysconfig/init 追加以下内容

ulimit -n 51200

重启看结果,已经可以了。

© 2023 laowang's blog
Theme by Wing