0

0

linux交换分区是必须的吗

WBOY

WBOY

发布时间:2022-07-27 15:44:00

|

3676人浏览过

|

来源于php中文网

原创

linux交换分区不是必须的;linux系统可以在没有交换分区的情况下完美运行,在某些情况下,可以像嵌入式解决方案一样,linux可以不交换运行,交换分区拥有尽可能多的物理内存是避免交换的最佳解决方案。

linux交换分区是必须的吗

本教程操作环境:linux7.3系统、Dell G3电脑。

linux交换分区是必须的吗

Linux 系统可以在没有交换分区的情况下完美运行。

当您安装Linux时,安装过程可能会添加交换分区到硬盘以及Linux本身的分区。但是这个交换分区是什么用的,真的有必要吗?

什么是交换?

当多任务操作系统用完物理内存时,无法启动新进程或为现有进程分配更多内存。为了解决这个问题,本地存储(通常是硬盘驱动器)上的一个特殊的空间块被放在一边作为一个临时保存区操作系统这释放了新的工作的记忆。当非活动进程再次变为活动状态时,它将从本地存储交换回内存。此过程称为交换。

Is交换空间真的有必要吗?

Is交换空间在技术上是必需的?

没有。Linux可以在没有它的情况下工作,在某些情况下,像嵌入式解决方案一样,Linux可以不交换运行。如果操作系统进入它没有的情况如果有足够的物理RAM,机器将运行没有任何问题。

交换空间实际上是必需的?

虽然交换减慢了计算机(因为读取和写入硬盘比访问RAM慢得多),并且拥有尽可能多的物理内存是避免交换的最佳解决方案,但是有合法的情况需要进行交换。例如,在系统引导过程中,可能会有一些进程运行(因此消耗系统内存),但可以在很长一段时间内有效地进行休眠。或分配的内存,写入然后再不使用。在这些情况下,交换算法将开始将该内存迁移到硬盘,从而释放宝贵的系统内存。这实际上确保了RAM的最大数量随时可用,从而提高性能。

扩展知识

On机器

为了完整起见,值得一提的是,Linux还有一个称为内存失败者(OOM)的子系统,而不是在内存耗尽时停止内核,将开始杀死进程以释放资源。它的动作是可配置的。

我应该分配多少交换空间?

LALALAND
LALALAND

AI驱动的时尚服装设计平台

下载

没有绝对的规则,由于硬盘空间便宜(美元/吉比特),最好分配太多太多的空间。作为经验法则,您应该有两到三倍的交换空间作为物理内存。

添加交换而不扩展交换分区

有两种方法可以在不更改现有交换分区的情况下向系统添加交换空间。一种方法是在另一个驱动器上使用交换分区,另一种是使用交换文件。

要使用另一个硬盘驱动器,请创建一个类型的分区要立即使用交换空间要永久性地将交换空间添加到系统中,您需要编辑/ etc / fstab文件并添加类似于this:

/ dev / sdb2的行无交换sw 0 0

如果您的系统正在使用唯一的标识符命名磁盘,请使用blkid命令来获取设备的ID列表。在/ etc / fstab中安装交换空间的行将看起来像是这样的.:

UUID = 036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0

要使用文件进行交换,请在该文件上创建一个大的空白文件(使用dd)要用于交换的文件系统。例如,要创建一个1GB文件,type = 10mh1112

dd if = / dev / zero of = / store / swapfile bs = 1024 count = 1048576

Where / store / swapfile是所需文件系统上交换文件的路径。

As与附加交换分区,该文件现在需要准备与mkswap,然后与swapon一起使用。它还需要添加到/ etc / fstab文件中。该过程与上述完全相同,但是您需要使用/ store / swapfile而不是/ dev / sdb2作为交换空间参数。

Swappiness

可以调整Linux内核以定义如何积极地尝试将进程交换出内存。这种趋势由称为swappiness的内核变量控制。0的意思是内核将尽可能避免交换,而100表示内核将如何使用交换空间是积极的。许多Linux发行版的默认设置是60.可以使用此命令动态地更改数字.:

sudo sysctl vm。swappiness = 10

要永久设置值,您需要更改(或添加,如果没有)/ etc / sysctl中的swappiness变量。conf文件。

推荐学习:Linux视频教程

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.3万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号