# ECK Operator Disable Swap and mlockall:true

**URL:** <https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645>\
**Category:** Elastic Cloud on Kubernetes (ECK)\
**Created:** [September 23, 2020, 11:05am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645 "2020-09-23T11:05:32Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fikrat\_Karimli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fikrat_karimli/32/76086_2.png) [@Fikrat\_Karimli](https://discuss.elastic.co/u/Fikrat_Karimli)\
**Post date:** [September 23, 2020, 11:05am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/1 "2020-09-23T11:05:32Z")

</div>

Hi,

I want to disable swapiness and bootstrap.memory\_lock: true but node is failing. Here is my script:

```auto
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: prod
spec:
  secureSettings:
  - secretName: gcs-credentials
  http:
    service:
      spec:
        type: LoadBalancer
    tls:
      selfSignedCertificate:
        subjectAltNames:
        - ip: x.x.x.x
  version: 7.9.1
  nodeSets:
  - name: master-nodes
    count: 1
    config:
      node.master: true
      node.data: false
      node.ingest: true
      node.ml: true
      xpack.ml.enabled: true
      cluster.remote.connect: false
      bootstrap.memory_lock: true
    podTemplate:
      spec:
        initContainers:
        - name: install-plugins
          command:
          - sh
          - -c
          - |
            bin/elasticsearch-plugin install --batch repository-gcs
        - name: sysctl
          securityContext:
            privileged: true
          command: ['sh', '-c', 'sysctl -w vm.max_map_count=262144']
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
        storageClassName: ssd

```

---

<div class="post-metadata">

**Author:** ![dkow](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dkow/32/47340_2.png) [@dkow](https://discuss.elastic.co/u/dkow)\
**Post date:** [September 23, 2020, 12:42pm UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/2 "2020-09-23T12:42:39Z")

</div>

Hi @Fikrat_Karimli, thanks for your question.

Can you also provide logs from the Elasticsearch node? You can get them with `kubectl logs prod-es-master-nodes-0`. These logs should state what was the issue - it might not be related to ECK at all. You can take a look at a similar [issue](https://discuss.elastic.co/t/elasticsearch-is-not-starting-when-bootstrap-memory-lock-is-set-to-true/120962) to see if it helps in your case.

---

<div class="post-metadata">

**Author:** ![Fikrat\_Karimli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fikrat_karimli/32/76086_2.png) [@Fikrat\_Karimli](https://discuss.elastic.co/u/Fikrat_Karimli)\
**Post date:** [September 26, 2020, 9:22pm UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/3 "2020-09-26T21:22:58Z")

</div>

"Unable to lock JVM Memory: error=12, reason=Cannot allocate memory"

---

<div class="post-metadata">

**Author:** ![michael.morello](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/michael.morello/32/47448_2.png) [@michael.morello](https://discuss.elastic.co/u/michael.morello)\
**Post date:** [September 28, 2020, 6:37am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/4 "2020-09-28T06:37:34Z")

</div>

Hi,

[Swap is usually disabled on K8S](https://github.com/kubernetes/kubernetes/issues/53533), is there any reason to additionally lock the heap in memory through `mlockall` ?

Maybe that your issue comes from the fact that the Pod is missing the `IPC_LOCK` capability, could you try to add it to the Pod's security context:

```auto
        securityContext:
          capabilities:
            add:
              - IPC_LOCK

```

---

<div class="post-metadata">

**Author:** ![Fikrat\_Karimli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fikrat_karimli/32/76086_2.png) [@Fikrat\_Karimli](https://discuss.elastic.co/u/Fikrat_Karimli)\
**Post date:** [September 28, 2020, 6:48am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/5 "2020-09-28T06:48:48Z")

</div>

If it is disabled by default, do I still need to lock memory?

---

<div class="post-metadata">

**Author:** ![michael.morello](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/michael.morello/32/47448_2.png) [@michael.morello](https://discuss.elastic.co/u/michael.morello)\
**Post date:** [September 28, 2020, 7:10am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/6 "2020-09-28T07:10:34Z")

</div>

If there is no swap then memory pages can't be swapped out to disk, so I think locking memory is useless in this context.

---

<div class="post-metadata">

**Author:** ![Fikrat\_Karimli](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/fikrat_karimli/32/76086_2.png) [@Fikrat\_Karimli](https://discuss.elastic.co/u/Fikrat_Karimli)\
**Post date:** [September 28, 2020, 7:14am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/7 "2020-09-28T07:14:07Z")

</div>

Thank you so much for your help!

---

<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:** [November 4, 2022, 8:13am UTC](https://discuss.elastic.co/t/eck-operator-disable-swap-and-mlockall-true/249645/8 "2022-11-04T08:13:50Z")

</div>


