# Elasticsearch returns virtual memory and thread size error even if it is set in Linux

**URL:** <https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539>\
**Category:** Elasticsearch\
**Created:** [November 1, 2016, 10:25am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539 "2016-11-01T10:25:51Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 10:25am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/1 "2016-11-01T10:25:51Z")

</div>

Hi,

Below is the cat of my /etc/security/limits.conf file

```
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
* hard nofile 262144
* hard nproc 2048
* hard as unlimited

```

but I am getting the following error when I start elasticsearch

```
ERROR: bootstrap checks failed
max number of threads [1024] for user [user1] likely too low, increase to at least [2048]
max virtual memory areas vm.max_map_count [65536] likely too low, increase to at least [262144]

```

I run elasticsearch 5.0GA. How can I fix this?

---

<div class="post-metadata">

**Author:** ![cbuescher](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cbuescher/32/60402_2.png) [@cbuescher](https://discuss.elastic.co/u/cbuescher)\
**Post date:** [November 1, 2016, 10:40am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/2 "2016-11-01T10:40:32Z")

</div>

This is all documented here: [https://www.elastic.co/guide/en/elasticsearch/reference/5.0/bootstrap-checks.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/bootstrap-checks.html)

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 10:43am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/3 "2016-11-01T10:43:07Z")

</div>

> [@elasticcloud](#):
>
> - hard nofile 262144
> - hard nproc 2048
> - hard as unlimited

I have gone through it. Its from there, i found settings for `nofile`, `nproc`, and `as`

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [November 1, 2016, 10:43am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/4 "2016-11-01T10:43:51Z")

</div>

You may want to set the soft limit as well as the hard limit.

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 10:47am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/6 "2016-11-01T10:47:22Z")

</div>

same issue with setting;

```
* hard nofile 262144
* hard nproc 2048
* hard as unlimited
* soft nofile 262144
* soft nproc 2048
* soft as unlimited
```

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 10:48am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/7 "2016-11-01T10:48:56Z")

</div>

Hi, I have set even both hard and soft settings. Still no hope.

---

<div class="post-metadata">

**Author:** ![cbuescher](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cbuescher/32/60402_2.png) [@cbuescher](https://discuss.elastic.co/u/cbuescher)\
**Post date:** [November 1, 2016, 10:54am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/8 "2016-11-01T10:54:21Z")

</div>

Which package have you used to install Elasticsearch? Which linux distribution you are using?

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 10:59am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/9 "2016-11-01T10:59:53Z")

</div>

Elasticsearch: Version: 5.0.0, Build: 253032b/2016-10-26T04:37:51.531Z, JVM: 1.8.0\_102  
OS: CentOS release 6.6 (Final)

---

<div class="post-metadata">

**Author:** ![cbuescher](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cbuescher/32/60402_2.png) [@cbuescher](https://discuss.elastic.co/u/cbuescher)\
**Post date:** [November 1, 2016, 11:16am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/10 "2016-11-01T11:16:17Z")

</div>

So I assume this is the RPM you are using. Have you also checked the information on [https://www.elastic.co/guide/en/elasticsearch/reference/5.0/setting-system-settings.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/setting-system-settings.html)? It mentions special cases for sytems that use systemd. Don't know if that applies here though.

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 1, 2016, 11:29am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/11 "2016-11-01T11:29:23Z")

</div>

I have added `session required pam_limits.so` , still issue exists.

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [November 1, 2016, 2:31pm UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/12 "2016-11-01T14:31:09Z")

</div>

Check Redhat Linux / Centos 6.6. documentation. There you can find that using `*` (wildcard user) in `/etc/security/limits.conf` does work, but with mixed results, because settings can be overridden by configurations in `/etc/security/limits.d/*.conf`

So, the safest and preferable way is always to use the user name in the lines of `/etc/security/limits.conf`

---

<div class="post-metadata">

**Author:** ![cbuescher](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cbuescher/32/60402_2.png) [@cbuescher](https://discuss.elastic.co/u/cbuescher)\
**Post date:** [November 1, 2016, 2:37pm UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/13 "2016-11-01T14:37:50Z")

</div>

Also, in order for the modified limits to be picked up, make sure you log out and log back in with the user that is running elasticsearch (seems to be `user1` in your case, not the default `elasticsearch` user?). You can `cat /proc/$$/limits` before logging out and logging in again to see if the new limits where picked up.

---

<div class="post-metadata">

**Author:** ![elasticheart](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/elasticheart/32/65189_2.png) [@elasticheart](https://discuss.elastic.co/u/elasticheart)\
**Post date:** [November 3, 2016, 5:44am UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/14 "2016-11-03T05:44:06Z")

</div>

Hi,

Thank you all guys, the settings came active after a restart and I have set username instead of `*` for all rules. Also I have set the rules for root too. This solved the issue.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:07pm UTC](https://discuss.elastic.co/t/elasticsearch-returns-virtual-memory-and-thread-size-error-even-if-it-is-set-in-linux/64539/15 "2017-07-05T22:07:03Z")

</div>


