Linux中交换分区是什么,为何要这样做
Admin 2022-08-15 群英技术资讯 1606 次浏览
这篇文章主要介绍“Linux中交换分区是什么,为何要这样做”,有一些人在Linux中交换分区是什么,为何要这样做的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。linux交换分区不是必须的;linux系统可以在没有交换分区的情况下完美运行,在某些情况下,可以像嵌入式解决方案一样,linux可以不交换运行,交换分区拥有尽可能多的物理内存是避免交换的最佳解决方案。

本教程操作环境:linux7.3系统、Dell G3电脑。
Linux 系统可以在没有交换分区的情况下完美运行。
当您安装Linux时,安装过程可能会添加交换分区到硬盘以及Linux本身的分区。但是这个交换分区是什么用的,真的有必要吗?
什么是交换?
当多任务操作系统用完物理内存时,无法启动新进程或为现有进程分配更多内存。为了解决这个问题,本地存储(通常是硬盘驱动器)上的一个特殊的空间块被放在一边作为一个临时保存区操作系统这释放了新的工作的记忆。当非活动进程再次变为活动状态时,它将从本地存储交换回内存。此过程称为交换。
Is交换空间真的有必要吗?
Is交换空间在技术上是必需的?
没有。Linux可以在没有它的情况下工作,在某些情况下,像嵌入式解决方案一样,Linux可以不交换运行。如果操作系统进入它没有的情况如果有足够的物理RAM,机器将运行没有任何问题。
交换空间实际上是必需的?
虽然交换减慢了计算机(因为读取和写入硬盘比访问RAM慢得多),并且拥有尽可能多的物理内存是避免交换的最佳解决方案,但是有合法的情况需要进行交换。例如,在系统引导过程中,可能会有一些进程运行(因此消耗系统内存),但可以在很长一段时间内有效地进行休眠。或分配的内存,写入然后再不使用。在这些情况下,交换算法将开始将该内存迁移到硬盘,从而释放宝贵的系统内存。这实际上确保了RAM的最大数量随时可用,从而提高性能。
扩展知识
On机器
为了完整起见,值得一提的是,Linux还有一个称为内存失败者(OOM)的子系统,而不是在内存耗尽时停止内核,将开始杀死进程以释放资源。它的动作是可配置的。
我应该分配多少交换空间?
没有绝对的规则,由于硬盘空间便宜(美元/吉比特),最好分配太多太多的空间。作为经验法则,您应该有两到三倍的交换空间作为物理内存。
添加交换而不扩展交换分区
有两种方法可以在不更改现有交换分区的情况下向系统添加交换空间。一种方法是在另一个驱动器上使用交换分区,另一种是使用交换文件。
要使用另一个硬盘驱动器,请创建一个类型的分区要立即使用交换空间要永久性地将交换空间添加到系统中,您需要编辑/ 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文件。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
解析redis备份文件rdb文件的两种方法方法一:Pythonrdbtools安装 rdbtools$ usr local python bin easy_installpip$ usr local python bin
linux中network是一种网络管理工具;network控制网络接口配置信息修改后,网络服务必须重新启动,来激活网络新配置,从而使得配置生效,控制脚本是“/etc/init.d/network”文件,可以在该文件后面加上指定的参数来操作网络服务。
在linux中,可以利用netstat命令查看8080端口是否被占用,该命令用于显示网络的状态,语法为“netstat -tln | grep 8080”;若返回的结果为空,表示8080端口没有被占用,若返回的结果不为空,表示该端口被占用。
我们知道Linux系统中的命令有很多,这篇文章我们主要介绍sed命令。Linux中sed命令是利用脚本来处理文件,sed可以依照脚本的指令来处理,便捷文本文件等等,sed命令的功能是很强大的,也是我们比较常用的一个命令,下面小编就和大家说说,怎样使用sed命令来进行数据替换。
在linux中,可以利用find命令的“-prune”参数使find在查找文件时不查找指定子目录,find命令用来在指定目录下查找文件,当参数设置为“-prune”时可以进行过滤,只需将要忽略的路径参数必须紧跟着搜索的路径之后,否则该参数无法起作用,语法为“find 搜索路径 -path 不查找的子目录路径 -prune...”。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008