三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

应对大型程序编译卡死问题

应对大型程序编译卡死问题

1.使用 ccache 加速(减少重复编译负担)**

sudo apt install ccache

配置(添加到 ~/.bashrc)
export PATH=“/usr/lib/ccache:$PATH”
export CCACHE_MAXSIZE=10G

#查看缓存命中
ccache -s

2.增加 Swap 空间(防 OOM 杀进程)

#查看当前 swap
free -h
swapon -s

#创建 8GB swap 文件(编译大工程建议 8~16GB)
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
#永久生效
echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

3.限制并行编译数(最关键)

不要直接用 make -j(会拉满所有核心)
推荐:核心数 + 1,或根据内存调整
make -jKaTeX parse error: Expected 'EOF', got '#' at position 18: …proc) #̲ 容易爆内存 make -j…(($(nproc)-1))

#如果内存 < 8GB,建议:
make -j1 # 单线程编译,慢但稳
make -j2 # 双线程

← 返回列表