Ubuntu环境下cuda安装时出现段错误(核心已转储)的解决办法 ...

打印 上一主题 下一主题

主题 964|帖子 964|积分 2894

一、背景与问题形貌

笔者按照网上教程,使用runfile方法去设置cuda的时候出现各种问题,第一步下载就不成功,每次下载到末了一秒都出现段错误(核心已转储),尝试了反复下载之后,换署理也是不行,,又尝试了两种方法,末了解决了,给遇到同样问题的同学一点我自己实用的解决方案~
我的系统版本是Ubuntu20.04,通过runfile安装cuda,cuda版本是11.03

二、解决办法

1.栈溢出,修改栈限制

在终端使用下列下令,表现当前 shell 会话中用户的各种资源限制,资源限制由 Linux 内核定义,用于防止用户进程斲丧过多的系统资源。
  1. ulimit -a
复制代码
然后会输出以下内容
  1. core file size          (blocks, -c) 0
  2. data seg size           (kbytes, -d) unlimited
  3. scheduling priority             (-e) 0
  4. file size               (blocks, -f) unlimited
  5. pending signals                 (-i) 63156
  6. max locked memory       (kbytes, -l) 65536
  7. max memory size         (kbytes, -m) unlimited
  8. open files                      (-n) 1024
  9. pipe size            (512 bytes, -p) 8
  10. POSIX message queues     (bytes, -q) 819200
  11. real-time priority              (-r) 0
  12. stack size              (kbytes, -s) 8192
  13. cpu time               (seconds, -t) unlimited
  14. max user processes              (-u) 63156
  15. virtual memory          (kbytes, -v) unlimited
  16. file locks                      (-x) unlimited
复制代码
看到stack size只有8192,我们下面要改大栈空间,以下代码任意一个
  1. ulimit -s unlimited
复制代码
大概
  1. ulimit -s 20480
复制代码
然后再输入
  1. ulimit -a
复制代码
就可以看到stack size扩大了
  1. core file size          (blocks, -c) 0
  2. data seg size           (kbytes, -d) unlimited
  3. scheduling priority             (-e) 0
  4. file size               (blocks, -f) unlimited
  5. pending signals                 (-i) 63156
  6. max locked memory       (kbytes, -l) 65536
  7. max memory size         (kbytes, -m) unlimited
  8. open files                      (-n) 1024
  9. pipe size            (512 bytes, -p) 8
  10. POSIX message queues     (bytes, -q) 819200
  11. real-time priority              (-r) 0
  12. stack size              (kbytes, -s) unlimited
  13. cpu time               (seconds, -t) unlimited
  14. max user processes              (-u) 63156
  15. virtual memory          (kbytes, -v) unlimited
  16. file locks                      (-x) unlimited
复制代码

但是要注意当前终端改了巨细,如果换了一个终端,照旧默认的stack size,所以接下来就在当前的终端继承输入下令下载cuda_xxxx_xxxx_linux.run,即以下下令
举个例子11.0.3版本的Cuda
  1. wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
复制代码
2.不消wget下载,使用多线程下载工具axel

第一步安装axel
  1. $ sudo apt-get install axel
复制代码
第二步将原来的wget下载换为axel下载(注意下面的代码中的网站换为自己必要的网站)
  1. axel https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
复制代码
别的还有一个本领,可以加快下载速度
就是将.com换为.cn

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表