如何提升pod share memory

容器与中间件容器服务技术服务知识库
问题描述

pod在启动或运行一段时间后日志中报错,如下:

ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
问题分析

pod使用了容器运行时默认的64M shared memory,在K8S中PodSpec并没有提供API供用户去修改shared memory。可以通过设置emptyDir,将内存类型的emptyDir 目录挂载到/dev/shm。

问题解决

1.创建pod添加如下配置

        volumeMounts:
        - mountPath: /dev/shm
          name: shm
      volumes:
      - emptyDir:
          medium: Memory
          sizeLimit: 128Mi
        name: shm

2.重新部署pod查看是否生效。

$ kubectl exec -it -n default <pod-name> -- df -hT|grep shm
tmpfs          tmpfs    128M     0  128M   0% /dev/shm
参考文档

[1] https://kubernetes.io/docs/concepts/storage/volumes/#emptydir 如果您有其他问题,欢迎您联系火山引擎技术支持服务

44
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论