【发布时间】:2020-08-28 09:36:51
【问题描述】:
之前有人问过这个问题,但我仍然不清楚这对我有什么作用。 SonarQube 无法启动此消息
错误:[1] 引导检查失败 [1]:最大文件描述符 [4096] 对于elasticsearch进程太低,至少增加到[65535]
我们当然可以检查设置是否不正确
[root@sonarqube ~]# cat /proc/sys/fs/file-max
381766
[root@sonarqube ~]# cat /proc/sys/vm/max_map_count
262144
[root@sonarqube ~]# ulimit -Hn
4096
[root@sonarqube ~]# ulimit -Sn
1024
我尝试的第一件事是将LimitNOFILE 添加到我的服务文件中。那是行不通的。而且,我认为它曾经在某个时候起作用。
[Unit]
Description=SonarQube 7.9.1
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=simple
User=sonarqube
Group=sonarqube
PermissionsStartOnly=true
ExecStart=/usr/bin/nohup /usr/lib/jvm/jdk11_0411_oj9/bin/java -Djava.net.preferIPv4Stack=true -jar /opt/sonarqube/sonarqube/lib/sonar-application.jar
StandardOutput=syslog
LimitNOFILE=262144
LimitNPROC=8192
TimeoutStartSec=5
Restart=always
[Install]
WantedBy=multi-user.target
[Install]
WantedBy=multi-user.target
接下来我添加了一个文件/etc/security/91-nofiles.conf
* soft nofile 262144
* hard nofile 262144
还有一个文件/etc/sysctl.d/sonarqube.conf
fs.file-max=262144
这些文件也没有什么不同。同样的错误。所以4096似乎固定在某个地方。有没有办法真正改变这个值?
【问题讨论】:
-
将两个 nofile 设置添加到 /etc/security/limits.conf 是否可行?之后不要忘记重新启动 X 会话(即注销、登录)。
标签: linux linux-kernel sonarqube