我在联想 Thinkpad P52s 上运行 Ubuntu 20.04.2,有时make
当我使用多核命令(使用标志)时遇到问题-j
。我的屏幕会冻结,笔记本电脑会完全没有响应,需要强制关机才能恢复。我之前把它放了几个小时,希望它最终会再次响应,但无济于事。这种情况发生在运行 Ubuntu 16.04 的同一台笔记本电脑上,我相信 18.04 也是如此。每次新安装都是全新安装,而不是使用发布升级工具进行升级。
我怀疑是散热问题,因为崩溃时 CPU 温度达到 75 C 左右,而且使用箱式风扇主动冷却笔记本电脑可以降低崩溃的可能性。我安装了thinkfan
CPU 风扇,让其在较低温度下更频繁地工作,并相信这有帮助,但这可能是我自己的确认偏差。
编辑:
至于我正在编译的代码make
,它是一些自定义代码,大量利用了GTSAM 库。GTSAM 也使用了 Eigen 和 boost 库。但是,在过去,似乎任意调用也会make
导致问题。不幸的是,我不记得我试图构建什么,但它可能是几个 ROS 包之一。我将寻找一些任意代码进行编译,以make
验证我的问题是否与我最近一直在从事的特定项目无关。
答案1
系统“冻结”通常是由于运行过多、过大的程序,导致可用内存不足造成的。使用free
来查看是否有交换空间,阅读man mkswap swapon fstab
来创建一些交换空间。交换空间必须是连续的。使用mkswap
或fallocate
,而不是dd
。传统上,建议使用 1.5 × RAM 的交换空间,但 YMMV。如果您不打算让系统休眠,则可以拥有少于 1.0 × RAM 的空间。