すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:emptyDir ボリュームをマウントして shm サイズを変更

最終更新日:Dec 19, 2025

このトピックでは、Elastic Container Instance (ECI) Pod における共有メモリ不足の問題を解決する方法について説明します。emptyDir ボリュームの `medium` を `Memory` に設定し、sizeLimit を指定して /dev/shm にマウントすることで、shm サイズを増やすことができます。

利用シーン

デフォルトでは、Kubernetes は各 Pod に 64 MiB の共有メモリを割り当てます。これにより、/dev/shm ディレクトリのサイズが 64 MiB に設定されます。Kubernetes の設定では、このサイズを変更することはできません。

Modify shm1

この制限を回避するために、`medium` が `Memory` に設定された emptyDir ボリュームを /dev/shm にマウントすることで、shm サイズを増やすことができます。

設定例

  1. YAML ファイルを作成します。

    vim emptydir-shm.yaml

    以下に、emptydir-shm.yaml ファイルの内容の例を示します。この設定では、emptyDir ボリュームの `medium` を `Memory` に、sizeLimit256MiB に設定し、そのボリュームを /dev/shm ディレクトリにマウントします。これにより、Pod の shm サイズが 256 MiB に増加します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx-test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
            volumeMounts:
            - mountPath: /dev/shm
              name: cache-volume
          volumes:
          - emptyDir:
              medium: Memory
              sizeLimit: 256MiB
            name: cache-volume
  2. デプロイメントを作成します。

    kubectl create -f emptydir-shm.yaml
  3. 結果を確認します。

    コンテナーにログインし、df -h コマンドを実行してディスク領域を確認します。出力から、/dev/shm のサイズが 256 MiB になっていることが確認できます。

    Modify the size of the shm