报错问题:
Linux系统下,服务的进程还跑着,端口缺不再监听了,报错如下:
Too many open files in system

原因是系统文件开的太多了。
通过以下命令可以查看系统文件总上限:
cat /proc/sys/fs/file-max
cat /proc/sys/fs/file-nr
Centos7下,以下命令修改文件上限:
实时修改:
sysctl -w fs.file-max=500000
永久修改:
vi /etc/sysctl.conf
增加内容 fs.file-max=500000 刷新
sysctl -p
通过以下命令可以查看单个用户limit
ulimit -n
Centos7下,以下命令修改单个用户文件上限:
#实时修改 ulimit -n 655350 #永久修改 vi /etc/security/limits.d/20-nproc.conf 添加内容:
#nproc
* soft nproc 655350
root soft nproc unlimited
* hard nproc 655350
root hard nproc unlimited
#nofile
* soft nofile 655350
* hard nofile 655350
centos-7 新增了
/etc/security/limits.d/20-nproc.conf文件,并且该文件会覆盖/etc/security/limits.conf的配置参数

当Linux服务进程运行但端口未监听时,可能是因为系统打开的文件过多导致。可以通过查看`/proc/sys/fs/file-max`和`/proc/sys/fs/file-nr`来了解文件上限。要修改文件上限,可以使用`sysctl`进行实时和永久调整,如`sysctl -w fs.file-max=500000`。对于单个用户的限制,可以使用`ulimit -n`查看并使用`ulimit`命令或编辑`/etc/security/limits.d/20-nproc.conf`进行修改。确保正确设置软限制和硬限制以避免`Too many open files in system`错误。
364

被折叠的 条评论
为什么被折叠?



