如何提升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 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

所属团队号:
相关资源
云原生机器学习系统落地和实践
机器学习在字节跳动有着丰富业务场景:推广搜、CV/NLP/Speech 等。业务规模的不断增大对机器学习系统从用户体验、训练效率、编排调度、资源利用等方面也提出了新的挑战,而 Kubernetes 云原生理念的提出正是为了应对这些挑战。本次分享将主要介绍字节跳动机器学习系统云原生化的落地和实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论