Linux系统报错排查:Too many open files in system
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统报错排查:Too many open files in system相关的知识,希望对你有一定的参考价值。
参考技术A 输出如下:修改linux系统参数。vi /etc/security/limits.conf 添加
修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了:
kafka too many open files的解决方法
参考技术A 在生产环境中,为了方便将kafka做成了一个服务,使用systemctl start kafka,kafka用户来对kafka进行启动,可是在最近的一次升级中启动应用时,kafka出现too many open files的报错并且宕机,在linux系统下每一个进程都会有其相应的文件打开限制,可以使用cat /proc/<pid>/limits来进行查看。使用命令行启动的应用会共用执行该命令用户的文件打开数,若是将其做成一个服务,如果不经过相应的配置,那么该进程默认的文件打开数为4096,所以解决该问题不仅需要提高kafka用户的文件打开数,而且需要在启动脚本中配置文件打开数,
1)进入kafka用户中,执行ulimit -n可以查看kafka用户的文件打开数
2)若是该文件打开数小,那么需要在/etc/security/limits文件中添加:
kafka soft nofile <文件打开数>
kafka hard nofile <文件打开数>
3)也可以使用ulimit -n <文件打开数>来进行临时配置
1)kafka.service脚本如下
[Unit]
Description=kafka service
Requires=zookeeper.service
After=zookeeper.service
[Service]
ExecStart=/data/apps_data/kafka/bin/kafka-server-start.sh /data/apps_data/kafka/config/server.properties
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Type=simple
User=kafka
Group=kafka
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
[Unit]
Description=kafka service
Requires=zookeeper.service
After=zookeeper.service
[Service]
ExecStart=/data/apps_data/kafka/bin/kafka-server-start.sh /data/apps_data/kafka/config/server.properties
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Type=simple
User=kafka
Group=kafka
LimitNOFILE=<文件打开数>
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
3)更改往后执行systemctl daemon-reload重载脚本
4)重启kafka生效
以上是关于Linux系统报错排查:Too many open files in system的主要内容,如果未能解决你的问题,请参考以下文章
linux下tomcat之too many open files
线上服务器too many open files 问题排查记录