LINUX的swap分区有什么用_Linux交换分区作用与管理

星枫同学_2694

星枫同学_2694

2025-11-10

649人浏览

原创

当系统内存不足时,swap分区可释放ram并支持休眠功能。通过swappiness参数调节使用策略,创建swap文件灵活扩展空间,并用free、swapon、vmstat监控使用情况,避免性能下降。

linux的swap分区有什么用_linux交换分区作用与管理

如果您发现系统在运行大型应用程序时变得迟缓或出现内存不足的提示,可能是物理内存资源已被耗尽。此时,Linux系统中的swap分区可以起到关键作用。通过将部分不活跃的数据从内存转移到磁盘上的swap空间,系统能够继续平稳运行。

本文运行环境:Dell XPS 13,Ubuntu 22.04

一、扩展可用内存容量

当系统的物理内存(RAM)接近满载时,内核会将暂时不用的内存页移动到swap分区中,从而释放出RAM供更紧急的任务使用。这种机制使得系统看起来拥有比实际更多的可用内存。

1、系统自动检测内存压力并触发页面换出操作。

2、被换出的数据存储在swap分区或swap文件中,直到需要再次访问。

3、当程序重新请求这些数据时,内核将其从swap读回内存,并可能将其他页面移出。

此过程对用户透明,但频繁的swap读写会影响性能,因此建议仅在物理内存不足时依赖swap

二、支持系统休眠功能(Hibernation)

休眠模式要求将当前内存中的所有内容完整保存到持久性存储中,以便在下次开机时恢复状态。swap分区正是用于存放这一镜像的关键区域。

1、配置系统启用hibernate选项前,必须确保swap空间大于等于物理内存大小。

2、休眠时,内核调用power management子系统,将内存镜像写入swap。

3、关机后,下次启动时引导程序识别到休眠镜像,将其加载回内存。

若未设置足够大小的swap,则休眠功能将无法正常工作

三、调整swap使用策略

Linux通过swappiness参数控制内核倾向于使用swap的程度。较低值表示尽量保留数据在内存中,较高值则更积极地使用swap。

1、查看当前swappiness值:执行命令 cat /proc/sys/vm/swappiness

Linux Desktop Control
Linux Desktop Control

Linux 桌面自动化与控制。适用于以下场景:(1)截取屏幕或窗口的截图,(2)控制鼠标和键盘,(3)管理窗口,(4……

下载

2、临时修改该值:使用 sudo sysctl vm.swappiness=10 设置为10。

3、永久更改需编辑 /etc/sysctl.conf 文件,添加或修改 vm.swappiness=10。

对于桌面系统,推荐设为10-30;服务器可根据负载选择更低值以减少延迟。

四、创建和管理swap文件

除了传统的swap分区,现代Linux发行版广泛支持swap文件,便于动态增减swap空间而无需重新分区。

1、创建一个指定大小的文件,例如生成4GB文件:sudo fallocate -l 4G /swapfile

2、设置权限以保证安全性:sudo chmod 600 /swapfile

3、格式化为swap类型:sudo mkswap /swapfile

4、启用该swap文件:sudo swapon /swapfile

5、为实现开机自动挂载,需将 /swapfile none swap sw 0 0 添加至 /etc/fstab 文件末尾。

五、监控与评估swap使用情况

定期检查swap的使用状态有助于判断是否需要扩容或优化内存使用。

1、使用 free -h 命令查看总内存与已用swap。

2、运行 swapon --show 显示当前激活的swap设备或文件。

3、通过 vmstat 1 实时观察si(swap in)和so(swap out)数值变化。

若持续出现高swap I/O活动,则表明系统可能存在内存瓶颈,应考虑增加物理内存或优化应用内存占用。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux ubuntu linux系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
hibernate和mybatis有哪些区别
hibernate和mybatis有哪些区别

hibernate和mybatis的区别:1、实现方式;2、性能;3、对象管理的对比;4、缓存机制。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

302

5

Hibernate框架介绍
Hibernate框架介绍

本专题整合了hibernate框架相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.06

1813

15

Java Hibernate框架
Java Hibernate框架

本专题聚焦 Java 主流 ORM 框架 Hibernate 的学习与应用,系统讲解对象关系映射、实体类与表映射、HQL 查询、事务管理、缓存机制与性能优化。通过电商平台、企业管理系统和博客项目等实战案例,帮助学员掌握 Hibernate 在持久层开发中的核心技能。

2025.09.02

5740

14

Hibernate框架搭建
Hibernate框架搭建

本专题整合了Hibernate框架用法,阅读专题下面的文章了解更多详细内容。

2025.10.14

598

8

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3570

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3113

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2153

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5110

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4802

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习