Docker创建容器时默认的共享内存shm太小报错,程序无法正常运行

在docker容器中训练网络,由于创建容器时默认的共享内存shared memory太小,导致程序报错:

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

RuntimeError: Dataloader worker (pid 94597) is killed by signal: Bus error. It is possible that dataloader’s workers are out of shared memory. Please try to raise your shared memory limit.

Docker创建容器时默认的共享内存shm太小报错,程序无法正常运行

docker容器中可以使用命令查看shm值大小,df -h 。

解决方法有几种:

1、减小Dataloader中num_workers的值,直到不再报错,最小可以设置为0。不足之处是训练网络为了节省时间需要尽可能大的num_workers,否则数据传输慢导致GPU利用率低。该方法仅适用于在容器内debug代码,此时不需要很大的num_workers,只要保证代码正确就行。

2、简单快速的方法就是重新创建容器,加上参数–shm-size 8G(或16G等),或者直接使用参数–ipc=host 。

3、修改已有容器的ShmSize的值,(这里省略)

Original: https://www.cnblogs.com/booturbo/p/16341342.html
Author: BooTurbo
Title: Docker创建容器时默认的共享内存shm太小报错,程序无法正常运行

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/683839/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 如何实现 System.out.println(“a”) 显示 b

    今天看到一篇文章不用反射,能否交换两个字符串的值. 心想字符串常量在常量池里面,是在就算用了反射也交换不了吧。转念一想,不对,字符串常量虽然本身在常量池里面,但是它依然是个对象,那…

    技术杂谈 2023年7月25日
    081
  • 更优雅地使用命令行

    工欲善其事,必先利其器,通过武装自己的命令行工具,从而更优雅地使用命令行,可以使工作更加高效并且有趣。本文将以下几个方面来介绍命令行的使用技巧和提效工具 CLI 一键呼入呼出 it…

    技术杂谈 2023年5月31日
    0107
  • 云原生可观测性追踪技术

    百度工程师眼中的云原生可观测性追踪技术 https://mp.weixin.qq.com/s/FyPaifHGs3knCcHmjMGVqg 收录于合集 技术加油站21 个 程序员1…

    技术杂谈 2023年5月31日
    0119
  • vue-cli项目详细搭建过程

    一、安装 Node.js 10(选择自己需要的版本)运行 node -v查看版本,如果不是 10,请先卸载当前版本去 Node.js 官网下载10.12.0版的安装包,一路点击下一…

    技术杂谈 2023年6月1日
    087
  • 【短地址】网址缩短程序是怎么做的?10进制与62进制转换

    网址缩短程序是怎么做的 短网址算法——之 10进制与62进制转换 posted @2017-09-17 21:35 52php 阅读(664 ) 评论() 编辑 Original:…

    技术杂谈 2023年5月30日
    0112
  • Hbase过滤器

    Hbase过滤器 HBase 的基本 API,包括增、删、改、查等。增、删都是相对简单的操作,与传统的 RDBMS 相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get…

    技术杂谈 2023年7月11日
    079
  • 编程初学者如何使用搜索引擎

    或许你会认为这篇文章的内容极为基础。事实上,我也是这么觉得的。但从很多同学的留言来看,还是有必要简单地科普一下,分享我的一点”搜索”经验。 如果你在学习编程…

    技术杂谈 2023年7月25日
    091
  • “XZ”格式文件解压

    1、下载xz 官网:https://tukaani.org/xz/ 例:wget https://nchc.dl.sourceforge.net/project/lzmautils…

    技术杂谈 2023年7月10日
    0105
  • vue

    【Vant的Rem适配方案】 Rem适配 Vant 中的样式默认使用px作为单位,如果需要使用rem单位,推荐使用以下两个工具: postcss-pxtorem 是一款 postc…

    技术杂谈 2023年5月31日
    0104
  • Jquery_效果-隐藏显示、淡入淡出、滑动面板、简单的动画队列

    1 DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset=&q…

    技术杂谈 2023年7月24日
    087
  • 《Hyperspectral Image Transformer Classification Networks》论文笔记

    1. SACP Module:SACP使用两个光谱自适应三维卷积层构建,如下图所示,其中包括两个分支:局部空间分支L和全局光谱分支G。局部空间分支旨在学习空间位置敏感的重要图,全局…

    技术杂谈 2023年6月21日
    0122
  • [Pipy]利用pip2pi搭建本地pypi源

    当我们一个团队开发一个项目的时候,须要的Python第三方包基本是固定的。每次搭建新环境的时候总是由于各种内外网,https问题花费大量的时间来安装执行环境。 所以搭建一个本地的,…

    技术杂谈 2023年5月31日
    078
  • Linux: 编辑和报错退出定时任务crontab

    crontab默认在Ubuntu上是已经安装的,若未安装,则可执行以下命令进行安装: sudo apt-get install cron crontab 说明 crontab命令 …

    技术杂谈 2023年7月24日
    0132
  • 高颜值测试报告- XTestRunner

    Modern style test report based on unittest framework. 基于unittest框架现代风格测试报告。 特点 漂亮测试报告让你更愿意…

    技术杂谈 2023年5月31日
    0100
  • jprofiler 提供的几个方便工具

    jprofiler 不只是可以在启动时添加agent信息,运行时态也是可以了,官方提供了不少工具 几个有用的工具 jpenable 可以jprofiler 的进程附加,可以方便jp…

    技术杂谈 2023年5月30日
    0113
  • MongoDB笔记(一)

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系…

    技术杂谈 2023年7月24日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球