Linux开启Swap分区与性能优化技巧
时间:2026-02-12 18:03:33 264浏览 收藏
文章不知道大家是否熟悉?今天我将给大家介绍《Linux开启Swap分区及性能优化方法》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!
启用Swap分区可缓解Linux内存紧张问题,方法包括:一、创建并启用Swap文件;二、启用独立Swap分区;三、配置fstab实现开机自动挂载;四、调整swappiness优化性能;五、安全禁用与移除Swap。

如果您在Linux系统中发现内存资源紧张,应用程序频繁因内存不足而被终止,或者系统响应明显变慢,则可能是物理内存已接近耗尽,此时启用Swap分区可作为虚拟内存的补充,缓解内存压力。以下是开启Swap分区的具体方法:
一、创建Swap文件并启用
通过在根文件系统中创建一个专用的Swap文件,无需重新分区即可快速增加虚拟内存空间。该方式灵活、安全,适用于大多数现代Linux发行版。
1、使用dd命令创建大小为2GB的Swap文件:sudo dd if=/dev/zero of=/swapfile bs=1G count=2
2、设置Swap文件权限为仅root可读写:sudo chmod 600 /swapfile
3、将文件格式化为Swap类型:sudo mkswap /swapfile
4、启用该Swap文件:sudo swapon /swapfile
5、验证是否启用成功:sudo swapon --show
二、通过独立Swap分区启用
若系统安装时已预留未格式化的磁盘分区,或可重新规划磁盘空间,则使用独立分区作为Swap更稳定高效,避免文件系统层开销及碎片影响。
1、使用fdisk或parted确认目标分区(例如/dev/sdb2),确保其未挂载且无重要数据
2、将该分区设置为Linux swap类型:sudo fdisk /dev/sdb,输入t切换分区类型,输入82(Linux swap)
3、通知内核重读分区表:sudo partprobe /dev/sdb
4、格式化为Swap:sudo mkswap /dev/sdb2
5、启用该分区:sudo swapon /dev/sdb2
三、配置开机自动挂载Swap
为确保系统重启后Swap持续生效,需将Swap设备信息写入/etc/fstab文件。遗漏此步骤将导致每次重启后Swap失效。
1、获取Swap文件或分区的UUID(推荐):sudo blkid /swapfile 或 sudo blkid /dev/sdb2
2、编辑fstab文件:sudo nano /etc/fstab
3、在文件末尾添加对应行,例如使用UUID方式:UUID=xxxx-xxxx-xxxx-xxxx none swap sw 0 0
4、保存退出后,执行sudo swapon -a验证fstab语法及挂载有效性
四、调整Swappiness参数优化性能
swappiness值控制内核将匿名页交换到Swap的积极程度,默认为60;数值越低,内核越倾向于保留页面在物理内存中,适合内存充足的服务器环境。
1、查看当前swappiness值:cat /proc/sys/vm/swappiness
2、临时修改为10(推荐内存≥8GB的系统):sudo sysctl vm.swappiness=10
3、永久生效需写入sysctl.conf:echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
4、重新加载配置:sudo sysctl -p
五、禁用并安全移除Swap设备
当不再需要Swap或需更换Swap位置时,必须先停用再删除,否则可能引发I/O错误或系统不稳定。
1、停用指定Swap文件或分区:sudo swapoff /swapfile 或 sudo swapoff /dev/sdb2
2、确认已完全关闭:sudo swapon --show(输出应为空)
3、如为Swap文件,执行删除:sudo rm /swapfile
4、如为Swap分区,从/etc/fstab中移除对应行,并可选择重新分配该分区用途
终于介绍完啦!小伙伴们,这篇关于《Linux开启Swap分区与性能优化技巧》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
358 收藏
-
479 收藏
-
408 收藏
-
214 收藏
-
159 收藏
-
372 收藏
-
187 收藏
-
390 收藏
-
322 收藏
-
291 收藏
-
194 收藏
-
404 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习