1. 编译器版本与 C++ 标准
GCC 4.8.5 不支持 C++17,导致 CMake 配置失败。使用 devtoolset-11(GCC 11.2.1)激活新编译器:
source /opt/rh/devtoolset-11/enable
更换编译器后,必须删除旧的 build 目录或执行 rm -rf build/* 并重新运行 cmake ..,避免缓存旧编译器信息。
2. 远程后台运行(防断线)
使用 tmux 创建持久会话,断开 SSH 后进程继续运行。
后台任务无法查看终端输出,使用 tee 或重定向将输出保存为 .log 文件,便于事后分析存活数、错误、耗时。建议带时间戳,如 relay_$(date +%Y%m%d_%H%M).log。
tmux new -s g4 # 创建会话
source /opt/rh/devtoolset-11/enable # 激活编译器环境(如需)
cd build && bash run_relay.sh 2>&1 | tee run.log # 运行并保存日志
# Ctrl+b, 然后按 d 脱离会话
tmux attach -t g4 # 重连后恢复会话
3. 内存溢出(OOM)处理
内存溢出后进程会被 OOM killer 杀掉,原因是分裂倍率(SPLIT)过大导致相空间记录数指数膨胀。