You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gem5模拟器编译报错:ld被信号9终止,求解决方法

Gem5编译时ld terminated with signal 9 [Killed]错误的原因及解决方法

错误原因

  • 虚拟机内存不足:VirtualBox给Ubuntu分配的物理内存过少,Gem5链接阶段需要大量内存,加上-j4开启4个并发编译线程,内存占用超出系统承载,触发OOM Killer(内存不足杀手)杀死ld链接进程。
  • 交换空间不足:虚拟机未配置足够的swap分区/文件,物理内存耗尽后无法通过虚拟内存缓解,导致进程被强制终止。

解决方法

  • 降低编译并发数:减少-j后面的数字,降低内存占用。比如执行:
    scons build/X86/gem5.opt -j 2
    
    若仍报错,可尝试-j 1单线程编译。
  • 增加虚拟机物理内存:打开VirtualBox的虚拟机设置,给Ubuntu分配至少4GB内存(推荐8GB及以上),重启虚拟机后重新编译。
  • 扩展交换空间:
    1. 查看当前swap状态:
      swapon --show
      
    2. 创建4GB的swap文件(可按需调整大小):
      sudo fallocate -l 4G /swapfile
      
    3. 设置文件权限:
      sudo chmod 600 /swapfile
      
    4. 格式化swap文件:
      sudo mkswap /swapfile
      
    5. 启用swap:
      sudo swapon /swapfile
      
    6. (可选)设置开机自动挂载:编辑/etc/fstab文件,添加一行:
      /swapfile none swap sw 0 0
      
  • 关闭冗余进程:编译前关闭虚拟机内的浏览器、IDE、后台服务等非必要程序,释放内存资源。

内容的提问来源于stack exchange,提问作者CSE_5105_yuvraj sahu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:10:38