ubuntu系统内存小会导致pycharm报错:Process finished with exit code 137 (interrupted by singal 9: SIGKILL)吗

我之前的ubuntu没有分系统盘,直接一整个300g,没出现过这个报错 Process finished with exit code 137 (interrupted by singal 9: SIGKILL),重装之后,给系统盘之分了50g,剩下250g给home,运行相同的程序:Process finished with exit code 137 (interrupted by singal 9: SIGKILL),请问这个和系统分盘相关吗

这个报错与系统分盘大小没有直接关系。Exit code 137 (interrupted by singal 9: SIGKILL) 表示进程被系统发送了SIGKILL信号终止。SIGKILL信号是一个强制终止进程的信号,一般是由操作系统发出。通常情况下,这个错误发生是因为程序使用了过多的内存或者占用了过多的系统资源。

原因可能是你的程序使用了太多的内存或者系统资源,导致操作系统认为它是一个 “Out of Memory” 的问题,然后发送SIGKILL信号强制终止进程。在你重新安装系统后,由于分配了更多的系统盘空间,可能导致系统在分配内存时更容易达到上限,从而更容易引发这个问题。

解决这个问题的方法通常是优化你的程序,减少内存占用或者改进性能。你可以尝试检查程序中是否存在内存泄露或不必要的资源占用,并尽量减少这些问题的发生。另外,也可以修改操作系统的内存限制,让系统能够分配更多的内存给你的程序使用。

除了以上的解决方法,你也可以尝试在命令行运行程序时加上 --max-memory 参数,限制程序使用的内存大小,以防止系统内存被耗尽。

来自GPT的回答:

"Process finished with exit code 137 (interrupted by signal 9: SIGKILL)" 错误通常与进程被操作系统强制终止(被发送 SIGKILL 信号)有关。这通常是由于系统资源不足导致的,其中内存是最常见的资源限制。

在你的情况下,如果你在之前的 Ubuntu 系统中没有遇到这个错误,但在重新分区后的新系统中遇到了这个错误,可能与系统内存的分配有关。

当系统内存不足时,操作系统会尝试终止一些进程以释放资源。因此,如果你的新系统中分配给系统盘的内存较小,可能导致系统内存不足,从而触发操作系统强制终止某些进程,包括 PyCharm。

这种情况下,你可以尝试以下方法来解决问题:

优化内存使用:确保没有运行其他占用大量内存的应用程序或进程,并关闭不必要的后台进程。也可以尝试减少 PyCharm 或其他应用程序的内存使用量,例如减少打开的文件数量、关闭不需要的插件等。

增加系统内存:如果你的系统内存确实不足,考虑增加系统内存容量。这可以通过添加更多的物理内存条或者使用虚拟内存进行扩展来实现。

调整 PyCharm 配置:尝试调整 PyCharm 的内存分配配置,以减少其对系统内存的需求。你可以编辑 PyCharm 的启动配置文件(pycharm.vmoptions),增加 -Xmx 参数来限制最大堆内存使用量。例如,-Xmx512m 表示最大堆内存为 512MB。

优化代码或使用更小的数据集:如果你在运行深度学习任务,考虑优化代码以减少内存使用,例如减少批处理大小、减少模型参数等。另外,你可以尝试使用更小的数据集进行训练和测试,以减少内存压力。

需要注意的是,将系统盘和用户目录分为不同的分区通常不会直接导致上述错误。错误出现的根本原因是系统内存不足,而不是分区配置本身。重新分区只是在系统盘和用户目录之间重新划分存储空间,不会直接影响内存使用。

总结起来,错误 "Process finished with exit code 137 (interrupted by signal 9: SIGKILL)" 通常与系统内存不足有关。你可以尝试优化内存使用、增加系统内存、调整应用程序的内存配置或优化代码来解决这个问题。

问题点: Process finished with exit code 137 (interrupted by singal 9: SIGKILL)
原因:程序并没有运行完,系统强制杀死进程,一般来说是因为内存不足或者CPU不够用。
**解决方案 ** 根据自身实际情况选择合适的方法.

  • 程序优化:出现这个信息说明发生了内存不足的问题,需要让程序少一些内存占用,在keras中,可以选择小的batch_size,不要把一整个大的文件一次性读到内存里。loss或者网络的输出不断积累导致计算图不断扩张,解决方案:在训练的循环过程中,需要用到loss,则用loss.data[0]。

  • 如果是ubuntu系统,出现此问题的一个原因是cpu不够了,当运行的网络很复杂的时候,需要加载很大的权重,需要cpu来做,会导致这个错误。

  • 如果使用了docker,解决方案就是开docker时候就预设更大内存。

  • 如果使用虚拟机,就增加虚拟机里面ubuntu的内存,可以参考这篇文章https://blog.csdn.net/zengxiangyu0406/article/details/122101827

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^