SonarQube max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
*SonarQube 8.1

  • install and Launch

So far tried.

  1. changed the limits.conf with line sonar - nofile 65535
  2. sudo sysctl -w vm.max_map_count=262144

tail -f /opt/sonarqube/logs/sonar.log - I am seeing below statements repetatively.

020.08.03 14:24:43 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2020.08.03 14:24:43 INFO  app[][] Elasticsearch listening on /
2020.08.03 14:24:43 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2020.08.03 14:24:43 INFO  app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
2020.08.03 14:24:44 INFO  app[][o.e.p.PluginsService] no modules loaded
2020.08.03 14:24:44 INFO  app[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
ERROR: [1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
2020.08.03 14:24:49 WARN  app[][o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 78
2020.08.03 14:24:49 INFO  app[][o.s.a.SchedulerImpl] Process[es] is stopped
2020.08.03 14:24:49 INFO  app[][o.s.a.SchedulerImpl] SonarQube is stopped
<-- Wrapper Stopped
--> Wrapper Started as Daemon
Launching a JVM...
Wrapper (Version 3.2.3)


When you sudo sysctl... that changes the values for the current session. Not necessarily the session SonarQube is running in if you’re running it as a service. There are system files you need to edit for this. The docs should help.


1 Like

All the settings are done, still its not starting

Also added ec2-user — nofile 65535 in /etc/security/limits.conf
Also added vm.max_map_count=262144 in etc/sysctl.conf

Current values
vm.max_map_count = 262144
fs.file-max = 3245011
unlimit -n = 1024
ulimit -u = 4096

If i start sonar qube from Sonar user getting below error

2020.08.04 06:06:41 INFO  app[][] Elasticsearch listening on /
2020.08.04 06:06:41 ERROR app[][o.s.a.p.ManagedProcessHandler] Fail to launch process [es]
java.lang.IllegalStateException: Cannot write Elasticsearch yml settings file
        at org.sonar.application.ProcessLauncherImpl.writeConfFiles(
        at org.sonar.application.ProcessLauncherImpl.launch(
        at org.sonar.application.SchedulerImpl.lambda$tryToStartProcess$2(
        at org.sonar.application.process.ManagedProcessHandler.start(
        at org.sonar.application.SchedulerImpl.tryToStartProcess(

If I am starting with Root user

2020.08.04 06:05:44 INFO  app[][o.e.c.t.TransportClientNodesService] failed to get node info for {#transport#-1}{DnoxOe9ISM2j_vOfLBjI-A}{}{}, disconnecting...
java.lang.IllegalStateException: Future got interrupted
        at org.elasticsearch.common.util.concurrent.FutureUtils.get(
        at org.elasticsearch.transport.ConnectionManager.internalOpenConnection(


You can’t run SonarQube as root so you need to concentrate on the first error which appears to be about file permissions.


Thanks - Any input what should be my next step ?