NEWS DETAIL

Ubuntu系统Swap交换分区设置与优化指南

发布时间:2026/10/25 12:38:06 · 栏目:资讯中心

尧图网络原创建站知识分享正文
1. 为什么需要Swap交换分区在Ubuntu系统中Swap交换分区相当于Windows中的虚拟内存。当物理内存RAM不足时系统会将部分暂时不用的内存数据转移到硬盘上的Swap分区中从而释放RAM空间供其他程序使用。特别是在以下场景中Swap分区显得尤为重要运行内存密集型应用如视频编辑、3D渲染处理大型数据集如机器学习训练服务器环境运行多个服务物理内存较小的老旧设备注意虽然Swap可以缓解内存压力但硬盘读写速度远低于RAM过度依赖Swap会导致系统性能下降。建议Swap大小一般为物理内存的1-2倍超过这个比例的实际收益会递减。2. 检查现有Swap状态在开始设置前我们需要先确认当前系统的Swap配置情况。打开终端CtrlAltT依次执行以下命令# 查看内存和Swap使用情况 free -h # 查看Swap分区详细信息 swapon --show # 检查所有块设备信息 lsblk典型输出示例total used free shared buff/cache available Mem: 7.7G 2.1G 3.2G 456M 2.4G 4.8G Swap: 2.0G 512M 1.5G NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 732M 0 part /boot └─sda3 8:3 0 464.6G 0 part /如果Swap行显示为0或者swapon命令没有输出说明当前系统没有激活Swap分区。3. 创建Swap文件的详细步骤3.1 确定Swap文件大小建议的Swap大小取决于你的物理内存和工作负载内存 ≤ 2GBSwap 内存 x 2内存 2-8GBSwap 内存大小内存 8GBSwap 内存 x 0.5例如我的系统有8GB内存计划创建8GB的Swap文件sudo fallocate -l 8G /swapfile实操技巧如果fallocate报错某些文件系统不支持可以使用dd命令替代sudo dd if/dev/zero of/swapfile bs1M count81923.2 设置正确的文件权限Swap文件需要严格的权限设置以确保系统安全sudo chmod 600 /swapfile sudo chown root:root /swapfile3.3 格式化Swap文件将文件格式化为Swap格式sudo mkswap /swapfile成功后会显示类似信息Setting up swapspace version 1, size 8 GiB (8589930496 bytes) no label, UUID3e5a6b7c-8d9f-4a1b-8c3d-2e1f0b6a7c8d3.4 激活Swap文件sudo swapon /swapfile再次运行free -h确认Swap已启用。4. 永久化Swap配置上述设置重启后会失效需要将其加入/etc/fstab文件echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab验证fstab配置是否正确sudo mount -a5. 优化Swap性能参数5.1 调整swappiness值swappiness参数0-100控制系统使用Swap的倾向性# 查看当前值默认60 cat /proc/sys/vm/swappiness # 临时设置为更保守的值推荐10-30 sudo sysctl vm.swappiness20 # 永久生效 echo vm.swappiness20 | sudo tee -a /etc/sysctl.conf5.2 调整缓存压力echo vm.vfs_cache_pressure50 | sudo tee -a /etc/sysctl.conf sudo sysctl -p6. 删除Swap文件如需如果需要移除Swap文件按以下步骤操作# 禁用Swap sudo swapoff /swapfile # 删除文件 sudo rm /swapfile # 从fstab中删除对应行 sudo nano /etc/fstab7. 常见问题解决方案7.1 swapon failed: Invalid argument错误可能原因文件系统不支持Swap如FAT32文件创建方式不正确解决方案# 确认文件系统类型 df -Th /swapfile # 使用dd重新创建文件 sudo dd if/dev/zero of/swapfile bs1M count8192 sudo mkswap /swapfile7.2 休眠功能失效如果使用休眠功能Swap大小必须 ≥ 内存大小# 查看当前内存用量 free -h # 重新创建足够大的Swap文件 sudo swapoff /swapfile sudo fallocate -l 16G /swapfile # 假设内存是16G sudo mkswap /swapfile sudo swapon /swapfile7.3 SSD寿命考虑对于SSD用户可以通过以下方式减少Swap写入echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf echo vm.dirty_background_ratio5 | sudo tee -a /etc/sysctl.conf echo vm.dirty_ratio10 | sudo tee -a /etc/sysctl.conf sudo sysctl -p8. 进阶使用独立Swap分区对于长期需要大容量Swap的用户建议创建独立分区使用GParted创建新分区格式化为Swap类型sudo mkswap /dev/sdXn # 替换为实际分区启用分区sudo swapon /dev/sdXn添加到/etc/fstab/dev/sdXn none swap sw 0 0我在服务器环境中发现独立Swap分区的性能通常比Swap文件高15-20%特别是在频繁交换的场景下。但对于大多数桌面用户Swap文件已经足够且更灵活。
✦

本文为尧图网络原创建站知识分享。想针对自身行业获取定制化建站方案?欢迎咨询,资深顾问免费为你出思路。

RELATED

相关 资讯推荐

MORE

更多 新鲜资讯

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析
2026/10/21 11:24:40

JMeter入门实战:从零构建HTTP接口性能测试脚本与结果分析

1. 项目概述:从零开始,用JMeter搞定HTTP性能测试 刚接触性能测试的新手,或者是从功能测试转过来的朋友,一听到“压测”两个字,心里可能就有点发怵。工具那么多,概念那么杂,从哪儿下手呢&#xf…

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统
2026/10/24 20:39:51

Earendel: 一个纯TS写的POSIX兼容的微内核Web操作系统

最近我用TypeScript写了一个运行在浏览器里的Web操作系统 Earendel(目前已知的距离地球最遥远的恒星)。开发它的初衷主要是为了Linux和操作系统课程的教学。市面上绝大多数Web OS项目,要么只是做了一个长得像Windows/macOS的网页UI拼盘&#…

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]
2026/10/25 8:02:16

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形[特殊字符]

5分钟掌握Windows防撤回神器:让微信QQ撤回消息无处遁形🚀 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: http…

从零制作同人动画:技术路线、流程与实战避坑指南
2026/10/24 7:09:28

从零制作同人动画:技术路线、流程与实战避坑指南

1. 先搞清楚这个“粉丝动画”到底是什么,以及它能解决什么问题看到“五条悟VS宿傩/咒术回战粉丝动画”这个标题,很多人的第一反应可能是去找一个现成的视频。但如果你是一个想自己动手创作、或者想了解这类作品背后技术流程的创作者,这个标题…

闭源降价80%,开源却在涨价:AI定价的交叉路口
2026/10/24 22:16:44

闭源降价80%,开源却在涨价:AI定价的交叉路口

8月6日,两条价格曲线悄然交汇。 一条向下:OpenAI把GPT-5.6 Luna的输出价格从6美元砍到1.2美元/百万Token,降幅80%。另一条向上:同一天,DeepSeek公告全线涨价,措辞是"涨幅较大",非试探…

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买
2026/10/25 8:02:07

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买

产线三防平板选哪个牌子?5个品牌实测告诉你别瞎买经常有工厂朋友拿着网上的"三防平板十大品牌排行榜"来问我:到底选哪个?说实话排行榜看看就行,真正选型得看你产线什么场景。今天挑五个在产线数字化里用得比较多的品牌—…

看完这篇,还想了解更多?

预约尧图网络顾问一对一沟通,针对你的行业与现状给出建站建议,全程免费。

免费咨询