“Linux 下 C++ 配置/编译卡顿”通常不是单一原因,而是资源配置、构建系统、依赖关系、IO 性能几类问题叠加。下面按最常见原因 → 排查方法 → 解决建议来说明。
cmake 都重新扫描大量文件find_package 扫描系统目录include_directories 范围过大✅ 表现:
cmake . 很慢make 一开始卡很久✅ 解决:
# 使用 target 级别 include
target_include_directories(app PRIVATE src)
# 避免
include_directories(/)
ccacheNinja 替代 Makecmake -GNinja ..
ninja
Linux 默认:
make
只用 1 核
✅ 解决:
make -j$(nproc)
或
ninja
✅ 检查:
nproc
htop
C++ 模板编译极吃内存:
✅ 表现:
make 到某几个 .cpp 就卡死htop 中内存 100%✅ 解决:
free -h
swapon --show
make -j4
.cppcmake 生成大量文件✅ 解决:
df -h
iostat -x 1
tmpfsmkdir /tmp/build && cd /tmp/build
✅ 解决:
include如果你在:
✅ 解决:
/mnt# 1. CPU
nproc
htop
# 2. 内存
free -h
# 3. IO
iostat -x 1
# 4. 构建工具
which ninja ccache
# 5. 当前构建命令
ps aux | grep -E 'cc1plus|make|ninja'
sudo apt install ninja-build ccache
cmake -GNinja -DCMAKE_BUILD_TYPE=Release ..
ninja
.bashrc:
export CC="ccache gcc"
export CXX="ccache g++"
你可以补充:
我可以直接给你针对性优化方案。