Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧
时间:2025-02-19 13:13:11 459浏览 收藏
知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个文章开发实战,手把手教大家学习《Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
在 Linux 系统内存耗尽时,非活动页面会被转移到 SWAP 空间,SWAP 空间可以是专用分区或文件。然而,Ubuntu 虚拟机通常不会自动创建 SWAP 空间。本文将指导您在 Ubuntu 中创建、删除和调整 SWAP 空间。
Linux 的 SWAP 空间
Linux 内核将物理内存 (RAM) 分割成“页面”块。将页面复制到辅助存储设备 (通常是 HDD 或 SSD) 的过程称为“交换”。预分配的专用空间称为“SWAP 空间”,RAM 和 SWAP 空间的总和构成虚拟内存。
是否需要 SWAP 空间?
SWAP 空间的用途:
- 内存需求超过可用物理内存时,SWAP 不重要的页面,释放更多内存。
- 程序启动时,许多页面可能很少使用,SWAP 这些页面,释放内存给其他应用。
- 没有 SWAP 空间,RAM 耗尽可能导致系统崩溃,尤其 RAM 小的系统。
SWAP 空间的缺点:
- 辅助存储设备 (HDD、SSD) 比 RAM 慢得多 (毫秒 vs 纳秒)。
- 大量交换会减慢系统速度。
SWAP 空间类型
Linux 中的 SWAP 空间类型:
- 专用 SWAP 分区:只能用于交换,不能存储其他文件。
- SWAP 文件:可以放在文件系统中的任何位置。
SWAP 空间大小取决于 RAM 大小。
Ubuntu 中的 SWAP 文件
Ubuntu 通常使用专用 SWAP 分区。安装过程中通常会自动创建,但也可以创建和调整 SWAP 文件。
查看 SWAP 空间
使用以下命令检查 Ubuntu 系统是否已启用 SWAP 空间:
sudo swapon --show
该命令列出所有 SWAP 空间 (分区和文件)。空输出表示未启用 SWAP 空间。
创建 SWAP 文件
SWAP 文件的优势在于大小可轻松调整,无需修改磁盘分区。
- 创建一个空文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
(文件大小:1M x 2048 = 2GB,修改 count
参数可更改大小)
- 设置文件权限:
sudo chmod 600 /swapfile
- 格式化文件为 SWAP 空间:
sudo mkswap /swapfile
- 激活 SWAP 文件:
sudo swapon /swapfile
- 将 SWAP 文件路径添加到
/etc/fstab
文件,使其永久生效:
/swapfile swap swap defaults 0 0
- 使用
swapon --show
或free -h
命令验证 SWAP 文件是否处于活动状态。
调整 Swappiness 值
Swappiness 值 (0-100) 控制系统使用 SWAP 空间的频率。值越低,越少使用 SWAP;值越高,越积极使用 SWAP。
查看 Swappiness 值:
cat /proc/sys/vm/swappiness
设置 Swappiness 值 (例如,设置为 40):
sudo sysctl vm.swappiness=40
要使设置永久生效,在 /etc/sysctl.conf
文件中添加 vm.swappiness=40
。
删除 SWAP 文件
- 停用 SWAP 文件:
sudo swapoff -v /swapfile
-
从
/etc/fstab
文件中删除相关行。 -
删除 SWAP 文件:
sudo rm /swapfile
调整 SWAP 空间大小
SWAP 分区: 需要使用磁盘管理工具 (如 GParted) 调整大小,这需要一定的专业知识,且操作不当可能导致数据丢失。
SWAP 文件:
-
停用 SWAP 文件:
sudo swapoff /swapfile
-
使用
dd
命令调整大小 (例如,增加 2GB):
sudo dd if=/dev/zero of=/swapfile bs=1G count=2 oflag=append conv=notrunc
-
重新格式化:
sudo mkswap /swapfile
-
重新激活:
sudo swapon /swapfile
本文详细介绍了在 Ubuntu 中管理 SWAP 空间的方法,包括不同类型的 SWAP 空间以及如何调整 SWAP 分区和文件的大小。
终于介绍完啦!小伙伴们,这篇关于《Ubuntu怎么创建、删除和调整 SWAP 空间? Linux修改swap交换空间的技巧》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
464 收藏
-
220 收藏
-
367 收藏
-
318 收藏
-
360 收藏
-
105 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习