Linux编译C++项目内存爆了?手把手教你用Swap分区救急(附Ubuntu/CentOS配置命令) 发布时间:2026/8/7 16:42:20 Linux编译C项目内存爆了手把手教你用Swap分区救急附Ubuntu/CentOS配置命令当你正在全神贯注地编译一个大型C项目时突然终端弹出C: fatal error: Killed signal terminated program cc1plus的报错那种感觉就像在马拉松终点前被强行拉停。这种情况在资源受限的环境如学生云服务器、本地虚拟机尤其常见。本文将带你深入理解背后的原因并提供一套即学即用的Swap分区配置方案让你不再被内存不足的问题困扰。1. 为什么cc1plus会被杀死Linux内核有一个称为OOM KillerOut-Of-Memory Killer的机制当系统内存严重不足时它会根据算法选择并终止某些进程以释放内存。编译大型C项目时g的cc1plus组件负责实际编译的前端可能会消耗大量内存成为OOM Killer的目标。几个关键指标可以帮助你判断内存状态free -h # 查看内存和Swap使用情况 htop # 交互式进程监控需安装 dmesg | grep -i kill # 查看是否触发了OOM Killer当free -h显示可用内存接近零或者htop中cc1plus进程内存占用持续增长时就是Swap该出场的时候了。2. Swap分区Linux的内存安全网Swap本质上是磁盘空间模拟的内存虽然速度比物理内存慢但能有效防止进程被意外终止。现代Linux系统通常建议Swap大小为物理内存 ≤ 2GBSwap 2×物理内存2GB 物理内存 8GBSwap 物理内存物理内存 ≥ 8GBSwap ≥ 4GBSwap的两种实现方式对比类型优点缺点适用场景Swap文件无需重新分区灵活调整性能略低临时需求、云环境Swap分区性能更好需要提前规划磁盘空间长期使用、物理服务器3. 实战快速创建Swap文件Ubuntu/CentOS通用以下是在不重启系统的情况下创建4GB Swap文件的完整流程# 创建Swap目录可选但推荐 sudo mkdir -p /var/lib/swap # 分配4GB空间根据需求调整count值 sudo fallocate -l 4G /var/lib/swap/swapfile # 设置严格权限 sudo chmod 600 /var/lib/swap/swapfile # 格式化Swap sudo mkswap /var/lib/swap/swapfile # 立即启用 sudo swapon /var/lib/swap/swapfile # 验证是否生效 sudo swapon --show free -h关键参数说明fallocate比传统dd命令更快且不实际写入数据chmod 600确保只有root能访问这个敏感文件swapon --show是较新的替代swapon -s的命令4. 持久化配置与性能优化要让Swap在重启后依然有效需要编辑/etc/fstab文件echo /var/lib/swap/swapfile none swap sw 0 0 | sudo tee -a /etc/fstab调整Swappiness控制内存使用策略# 查看当前值默认通常为60 cat /proc/sys/vm/swappiness # 临时设置为更保守的值推荐10-30 sudo sysctl vm.swappiness30 # 永久生效 echo vm.swappiness30 | sudo tee -a /etc/sysctl.conf较低的值如10表示尽量少用Swap适合SSD较高的值如60适合HDD或需要更多内存缓冲的场景。5. 编译完成后的Swap管理项目编译完成后你可能想释放Swap空间# 禁用特定Swap文件 sudo swapoff /var/lib/swap/swapfile # 删除文件 sudo rm /var/lib/swap/swapfile # 从fstab中移除对应行 sudo nano /etc/fstab长期使用建议监控Swap使用频率vmstat 1查看si/soSwap in/out如果Swap频繁使用10%考虑升级内存对于SSD建议将Swap文件放在磁盘外围以减少磨损6. 进阶技巧ZRAM替代方案在内存极度受限的设备如树莓派上可以尝试ZRAM——一种压缩的内存交换技术# Ubuntu安装 sudo apt install zram-config # CentOS配置 sudo modprobe zram echo lz4 | sudo tee /sys/block/zram0/comp_algorithm echo 2G | sudo tee /sys/block/zram0/disksize sudo mkswap /dev/zram0 sudo swapon /dev/zram0 -p 100ZRAM的优势在于所有交换操作都在内存中完成避免了磁盘I/O瓶颈特别适合频繁交换小数据块的场景。 相关新闻 LizzieYzy:围棋AI分析的终极免费工具 - 从入门到精通完全指南 LizzieYzy:围棋AI分析的终极免费工具 - 从入门到精通完全指南 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy LizzieYzy是一款功能强大的开源围棋AI分析工具,基于经典围棋界… 2026/8/7 16:41:39 VMware macOS解锁器深度解析:破解技术壁垒实现跨平台兼容 VMware macOS解锁器深度解析:破解技术壁垒实现跨平台兼容 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unlo/unlocker VMware虚拟机默认不支持macOS系统安装,这一技术限制长期困扰着需要在Win… 2026/8/6 1:37:49 解决Arduino IDE签名错误:ATMEGA328-PU芯片烧录全攻略 1. 项目概述:当你的Arduino“认不出”它的核心如果你和我一样,在某个深夜,为了省下几块钱,在购物车里选择了那个不带“P”后缀的ATMEGA328-PU,而不是标准的ATMEGA328P-PU,那么恭喜你,你即将踏入… 2026/7/28 23:33:48 最新新闻 MEMS陀螺仪角度漂移根源与六面法校准实战指南 你调个单片机陀螺仪角度漂移一天,没想过校准? 昨天下午,一个朋友在群里发了个截图,是串口打印出来的数据,角度值像喝醉了酒一样,从0一路飘到30,再慢慢飘回来。他配了句话:“调了一天… 2026/8/7 16:37:41 深度剖析:WechatDecrypt如何破解微信数据库的AES-256-CBC加密屏障 深度剖析:WechatDecrypt如何破解微信数据库的AES-256-CBC加密屏障 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 在数字化时代,个人数据主权成为了技术爱好者们日益关注的话题。微… 2026/8/7 16:37:41 ZooKeeper分布式协调服务:从核心原理到生产环境部署与调优实战 1. 从分布式协调的“痛点”说起在分布式系统里,最让人头疼的问题之一,就是“状态”和“配置”怎么管。想象一下,你手底下有几十上百台服务器,它们需要知道谁是主节点、某个任务被谁领走了、或者某个关键的配置项(比如数… 2026/8/7 16:37:41 高频注入法:在线辨识PMSM电感参数的核心原理与工程实践 1. 为什么高频注入是辨识电机电感参数的“利器”? 在电机控制领域,尤其是永磁同步电机(PMSM)和内置式永磁同步电机(IPMSM)的矢量控制中,电机的d轴和q轴电感参数是构建精确数学模型、实现高性能控… 2026/8/7 16:37:41 如何高效批量下载抖音内容:开源工具完全指南 如何高效批量下载抖音内容:开源工具完全指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批… 2026/8/7 16:37:41 VS快捷键全解析:提升开发效率的必备技巧 1. VS快捷键全解析:从基础操作到高阶效率提升 作为一款功能强大的集成开发环境,Visual Studio(简称VS)的快捷键系统是其高效使用的核心。我使用VS开发已有八年时间,从最初的手忙脚乱到现在的行云流水,快捷键… 2026/8/7 16:32:41 日新闻 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21 Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21 周新闻 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06 月新闻 【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34 AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40 AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54
LizzieYzy:围棋AI分析的终极免费工具 - 从入门到精通完全指南 LizzieYzy:围棋AI分析的终极免费工具 - 从入门到精通完全指南 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy LizzieYzy是一款功能强大的开源围棋AI分析工具,基于经典围棋界… 2026/8/7 16:41:39
VMware macOS解锁器深度解析:破解技术壁垒实现跨平台兼容 VMware macOS解锁器深度解析:破解技术壁垒实现跨平台兼容 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unlo/unlocker VMware虚拟机默认不支持macOS系统安装,这一技术限制长期困扰着需要在Win… 2026/8/6 1:37:49
解决Arduino IDE签名错误:ATMEGA328-PU芯片烧录全攻略 1. 项目概述:当你的Arduino“认不出”它的核心如果你和我一样,在某个深夜,为了省下几块钱,在购物车里选择了那个不带“P”后缀的ATMEGA328-PU,而不是标准的ATMEGA328P-PU,那么恭喜你,你即将踏入… 2026/7/28 23:33:48
MEMS陀螺仪角度漂移根源与六面法校准实战指南 你调个单片机陀螺仪角度漂移一天,没想过校准? 昨天下午,一个朋友在群里发了个截图,是串口打印出来的数据,角度值像喝醉了酒一样,从0一路飘到30,再慢慢飘回来。他配了句话:“调了一天… 2026/8/7 16:37:41
深度剖析:WechatDecrypt如何破解微信数据库的AES-256-CBC加密屏障 深度剖析:WechatDecrypt如何破解微信数据库的AES-256-CBC加密屏障 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 在数字化时代,个人数据主权成为了技术爱好者们日益关注的话题。微… 2026/8/7 16:37:41
ZooKeeper分布式协调服务:从核心原理到生产环境部署与调优实战 1. 从分布式协调的“痛点”说起在分布式系统里,最让人头疼的问题之一,就是“状态”和“配置”怎么管。想象一下,你手底下有几十上百台服务器,它们需要知道谁是主节点、某个任务被谁领走了、或者某个关键的配置项(比如数… 2026/8/7 16:37:41
高频注入法:在线辨识PMSM电感参数的核心原理与工程实践 1. 为什么高频注入是辨识电机电感参数的“利器”? 在电机控制领域,尤其是永磁同步电机(PMSM)和内置式永磁同步电机(IPMSM)的矢量控制中,电机的d轴和q轴电感参数是构建精确数学模型、实现高性能控… 2026/8/7 16:37:41
如何高效批量下载抖音内容:开源工具完全指南 如何高效批量下载抖音内容:开源工具完全指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批… 2026/8/7 16:37:41
VS快捷键全解析:提升开发效率的必备技巧 1. VS快捷键全解析:从基础操作到高阶效率提升 作为一款功能强大的集成开发环境,Visual Studio(简称VS)的快捷键系统是其高效使用的核心。我使用VS开发已有八年时间,从最初的手忙脚乱到现在的行云流水,快捷键… 2026/8/7 16:32:41
“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21
调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21
Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21
ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06
【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34
AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40
AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54