Ubuntu系统Swap分区配置与优化指南
1. 为什么需要Swap交换分区在Ubuntu系统中Swap交换分区扮演着虚拟内存的角色。当物理内存RAM耗尽时系统会将部分暂时不用的内存数据转移到Swap空间从而避免程序崩溃或系统卡死。虽然Swap的读写速度远低于物理内存但它确实能在关键时刻救你一命。我曾在开发一个机器学习项目时由于数据集过大导致16GB内存瞬间爆满。如果没有提前配置Swap分区整个系统就会直接卡死所有未保存的工作成果都将付诸东流。那次经历让我深刻认识到合理配置Swap的重要性。2. 检查现有Swap配置在开始设置之前我们需要先检查系统当前的Swap使用情况。打开终端CtrlAltT输入以下命令free -h输出结果类似这样total used free shared buff/cache available Mem: 15Gi 3.2Gi 9.8Gi 356Mi 2.0Gi 11Gi Swap: 2.0Gi 0B 2.0Gi如果Swap行显示为0或者你发现现有的Swap空间不足比如只有1-2GB那么就需要考虑增加Swap空间了。根据我的经验对于普通桌面使用Swap大小建议设置为物理内存的1-2倍对于服务器环境可能需要更大。3. 创建Swap文件的详细步骤3.1 确定Swap文件大小首先需要决定Swap文件的大小。这里我以创建4GB Swap文件为例sudo fallocate -l 4G /swapfile注意如果你使用的是较旧的文件系统如ext3fallocate可能会失败。这时可以使用dd命令替代sudo dd if/dev/zero of/swapfile bs1M count40963.2 设置正确的文件权限Swap文件需要严格的权限设置否则会有安全隐患sudo chmod 600 /swapfile sudo chown root:root /swapfile3.3 格式化Swap文件将文件格式化为Swap格式sudo mkswap /swapfile你应该会看到类似这样的输出Setting up swapspace version 1, size 4 GiB (4294963200 bytes) no label, UUIDxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx3.4 启用Swap文件sudo swapon /swapfile再次运行free -h现在应该能看到新增的Swap空间了。4. 永久化Swap配置上面的设置只会在当前会话有效重启后就会失效。为了让Swap配置永久生效需要编辑/etc/fstab文件sudo nano /etc/fstab在文件末尾添加以下行/swapfile none swap sw 0 0保存并退出CtrlX然后按Y确认。5. 优化Swap性能参数仅仅创建Swap还不够我们还需要调整一些内核参数来优化Swap的使用效率。编辑/etc/sysctl.conf文件sudo nano /etc/sysctl.conf添加或修改以下参数vm.swappiness10 vm.vfs_cache_pressure50提示swappiness值范围是0-100表示系统使用Swap的倾向。0表示尽量不使用Swap100表示积极使用Swap。对于SSD硬盘建议设置为10-30对于HDD可以适当提高。使设置立即生效sudo sysctl -p6. 删除或调整Swap空间如果你需要删除或调整Swap空间大小可以按照以下步骤操作6.1 禁用当前Swapsudo swapoff /swapfile6.2 删除Swap文件sudo rm /swapfile6.3 调整Swap大小如果你想调整Swap大小只需重复第3节的步骤创建一个新大小的Swap文件即可。7. 常见问题与解决方案7.1 Swap空间未被使用有时候即使物理内存紧张系统也不使用Swap。这通常是因为swappiness设置过低。可以临时提高这个值测试sudo sysctl vm.swappiness607.2 系统启动时Swap挂载失败如果系统启动时提示无法挂载Swap可能是因为文件系统检查顺序问题。可以尝试运行sudo fsck /swapfile确保/etc/fstab中的配置正确检查文件权限是否为6007.3 性能问题Swap使用过多会导致系统变慢。可以通过以下命令监控Swap使用情况watch -n 1 free -h如果发现Swap使用率持续很高考虑增加物理内存或优化应用程序的内存使用。8. 高级技巧使用ZRAM替代传统Swap对于内存较小的设备如树莓派或老旧笔记本ZRAM可能是更好的选择。ZRAM在内存中创建一个压缩的块设备作为Swap比传统Swap更快sudo apt install zram-config安装后重启系统ZRAM会自动配置。你可以通过以下命令验证cat /proc/swaps在我的旧笔记本上使用ZRAM后系统响应速度明显提升特别是在处理多个浏览器标签时。9. 实际应用场景分析根据我的经验合理配置Swap在不同场景下的作用开发环境编译大型项目时内存需求会突然激增。4-8GB的Swap可以防止编译过程中断。服务器应用数据库服务器在查询高峰期可能耗尽内存Swap可以防止服务崩溃。多媒体处理视频编辑和3D渲染软件常常需要大量内存Swap可以作为缓冲。我曾经为一个运行PostgreSQL数据库的Ubuntu服务器配置了16GB的Swap空间物理内存8GB成功应对了突发的查询高峰避免了服务中断。10. 性能监控与调优建议长期监控Swap使用情况对于系统调优很重要。我推荐以下工具htop直观显示内存和Swap使用情况sudo apt install htop htopvmstat查看内存和Swap的统计信息vmstat 1编写监控脚本#!/bin/bash while true; do date /var/log/swap_usage.log free -h /var/log/swap_usage.log sleep 300 done根据监控数据你可以如果Swap使用率长期低于5%可以考虑减小Swap空间如果Swap使用率经常超过50%应该考虑增加物理内存或优化应用如果系统频繁进行Swap交换swapping说明内存严重不足在我的运维实践中发现一个规律当Swap使用率持续超过30%时系统性能就会明显下降。这时就需要采取行动了要么增加内存要么优化应用的内存使用。

相关新闻

(十)概率及优势回顾

(十)概率及优势回顾

详细回顾一下概率以及优势。 1.概率定义 概率用来衡量一个事件将要发生的可能性。在安全规约中主要与一个方案的成功攻击和一个问题实例的正确解决有关。有四个概率定义,分别针对于数字签名,加密,计算问题,判定问题。 数字签名。令 Pr ⁡ [ W i n S i g ] \Pr[\mathrm{Wi…

2026/7/16 11:43:41 阅读更多 →
Windows控制台I/O机制与API实战指南

Windows控制台I/O机制与API实战指南

1. Windows控制台I/O机制深度解析控制台作为人机交互最基础的界面,其输入输出机制直接影响着命令行程序的用户体验。Windows平台通过一组精密的API函数实现了控制台的高效读写操作,这些函数构成了控制台应用程序的底层通信基础。在Windows系统中&#xf…

2026/7/16 11:43:41 阅读更多 →
Cloud Document Converter:终极飞书文档转Markdown解决方案,快速提升工作效率

Cloud Document Converter:终极飞书文档转Markdown解决方案,快速提升工作效率

Cloud Document Converter:终极飞书文档转Markdown解决方案,快速提升工作效率 【免费下载链接】cloud-document-converter Convert Lark Doc to Markdown 项目地址: https://gitcode.com/gh_mirrors/cl/cloud-document-converter Cloud Document …

2026/7/16 11:41:41 阅读更多 →

最新新闻

Dolphin3-Cyber-8B-GGUF vs 传统安全工具:AI驱动的漏洞分析如何提升300%效率

Dolphin3-Cyber-8B-GGUF vs 传统安全工具:AI驱动的漏洞分析如何提升300%效率

Dolphin3-Cyber-8B-GGUF vs 传统安全工具:AI驱动的漏洞分析如何提升300%效率 【免费下载链接】Dolphin3-Cyber-8B-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/RavichandranJ/Dolphin3-Cyber-8B-GGUF 在网络安全领域,效率就是生命线。传统…

2026/7/16 12:24:38 阅读更多 →
【Claude文件分析权威测评】:对比ChatGPT-4o、Gemini 1.5 Pro在12类专业文档(合同/财报/科研PDF)中的结构化准确率实测报告(附基准测试代码)

【Claude文件分析权威测评】:对比ChatGPT-4o、Gemini 1.5 Pro在12类专业文档(合同/财报/科研PDF)中的结构化准确率实测报告(附基准测试代码)

更多请点击: https://intelliparadigm.com 第一章:Claude文件分析功能概览 Claude 的文件分析功能是其核心能力之一,支持用户上传多种格式的文档(如 PDF、TXT、DOCX、CSV、JSON 等),并基于上下文进行深度语…

2026/7/16 12:24:38 阅读更多 →
Mac电脑VMware安装Ubuntu全流程与优化指南

Mac电脑VMware安装Ubuntu全流程与优化指南

1. VMware虚拟机安装Ubuntu(Mac电脑)全流程解析 在Mac电脑上通过VMware运行Ubuntu系统,是开发者搭建跨平台开发环境、测试Linux应用或学习系统运维的常见需求。不同于Windows平台,Mac用户需要特别注意芯片架构兼容性问题——特别…

2026/7/16 12:22:37 阅读更多 →
ChatGPT提示词终极避坑手册:15个导致幻觉/偏见/泄露的隐形语法陷阱(含实时检测Chrome插件下载链接)

ChatGPT提示词终极避坑手册:15个导致幻觉/偏见/泄露的隐形语法陷阱(含实时检测Chrome插件下载链接)

更多请点击: https://codechina.net 第一章:ChatGPT提示词终极避坑手册:15个导致幻觉/偏见/泄露的隐形语法陷阱(含实时检测Chrome插件下载链接) 引子:为什么“看似合理”的提示词会触发灾难性输出&#x…

2026/7/16 12:20:37 阅读更多 →
Tasmota ESP32-S3蓝牙兼容性问题终极解决方案:从编译到调试的完整指南

Tasmota ESP32-S3蓝牙兼容性问题终极解决方案:从编译到调试的完整指南

Tasmota ESP32-S3蓝牙兼容性问题终极解决方案:从编译到调试的完整指南 【免费下载链接】Tasmota Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability …

2026/7/16 12:18:37 阅读更多 →
深入剖析C++ std::unique_ptr:从RAII原理到源码实现与工程实践

深入剖析C++ std::unique_ptr:从RAII原理到源码实现与工程实践

1. 项目概述:为什么我们要深入“平凡”的 std::unique_ptr ? 在C的世界里,内存管理是每个开发者绕不开的课题。从早期的 new / delete 手动操作,到后来的智能指针家族,C标准库一直在努力让资源管理变得更安全、更…

2026/7/16 12:14:15 阅读更多 →

日新闻

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

本篇深入剖析 ImportantDays 项目的数据持久化方案——基于 HarmonyOS ArkData 模块的 Preferences 轻量级存储,以及 PreferenceUtil 工具类的单例封装。一、HarmonyOS 数据存储方案对比 HarmonyOS 提供了多种数据存储方案:方案适用场景特点Preferences轻…

2026/7/16 0:08:27 阅读更多 →
Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

2026/7/16 0:08:27 阅读更多 →
鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

从鸿蒙 7(HarmonyOS NEXT)开始,官方全面完成了从 ohos.* 零散模块到 kit.* 领域套件的体系重构。对开发者来说,第一道门槛不是 API 用法变化,而是统一的导入规范——旧体系默认导入、解构导入混用的混乱局面被彻底终结…

2026/7/16 0:10:29 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/15 21:09:01 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/15 19:42:20 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/15 17:52:08 阅读更多 →

月新闻