深入理解swap分区

一、什么是swap交换分区?定义:Swap space交换空间,是虚拟内存的表现形式。系统为了应付一些需要大量内存的应用,而将磁盘上的空间做内存使用,当物理内存

大家好,今天小编来为大家解答以下的问题,关于深入理解swap分区,这个很多人还不知道,现在让我们一起来看看吧!

理解:我们知道Linux内核在内存中缓存文件是为了提高读写效率和速度。这部分内存就是Cache Memory,常用的有buffercache和pagecache。即使程序结束后,Cache Memory 也不会自动释放。

这会让你发现当你的程序在Linux系统中频繁读写文件时,可用的物理内存变少了。当系统的物理内存不够时,需要释放物理内存中的一部分空间,以供当前运行的程序使用。释放的空间可能来自一些长时间未运行的程序。释放的空间暂时保存在Swap空间中。当这些程序即将运行时,保存的数据将从Swap分区恢复到内存中。这样,当物理内存不足时,系统总是会执行Swap。

2.交换文件创建规则

按照Oracle官方文档规定的标准,应该这样配置:

对于4G以内的物理内存,SWAP设置为内存的2倍。

4-8G物理内存,SWAP等于内存大小。

8-64G物理内存,SWAP设置为8G。

64-256G物理内存,SWAP设置为16G。

3.创建交换文件

1、安装操作系统分区时,需要创建交换分区。

2.交换分区在安装操作系统时不会创建,需要手动创建。

(1)检查内存状态

如果交换行为为0,则需要创建交换空间。

(2)创建交换分区

dd if=/dev/zero of=/tmp/swapfile bs=1024 count=8192000

if=/dev/zero:进入/dev/zero 文件。 /dev/zero的主要用途是创建一个指定长度的空文件用于初始化,就像临时交换文件一样。 of=/tmp/swapfile:输出到/tmp/swapfile文件bs=1024:定义块大小为1024bytes,默认单位为字节。 count=8192000:总大小为8192000 bs,即8192000kb。换算后就是8G。 (3)指定分区类型为swap

mkswap /tmp/交换文件

(4)设置swap分区有效

交换/tmp/交换文件

深入理解swap分区

(5)设置扩展交换分区自动挂载

Vim /etc/fstab

添加自动分区命令

/tmp/swapfile 交换交换默认0 0

(6) 测试添加情况

自由-m

4. 展开交换文件

程序运行时经常因为内存太小问题而自杀。您可以手动扩大交换大小。扩容方法: 1、先关闭swap。交换-a

2.安装三步重新分配交换文件并重新加载交换分区。

5.交换参数

Swappiness 是一个关于交换使用情况的参数。 swappiness 的值越大,交换分区的使用越活跃。该值越小,物理内存的使用越活跃。默认值swappiness=60。

当swap使用率配置过高,影响磁盘使用时,可以适当减小该值,直至配置为0。当磁盘空间io空闲且物理内存负载较高时,可以逐渐增大该值,直至100。

1.临时调整Swapiness参数

sudo sysctl vm.swappiness=100

猫/proc/sys/vm/swappiness

2.永久调整Swapiness参数

sudo vim /etc/sysctl.conf

修订

vm.swappiness=10

用户评论

深入理解swap分区
烬陌袅

swap空间就是用来当虚拟内存用的吧?这篇文章讲得挺清楚,我之前一直不太明白swap的工作原理和为什么要使用它,现在总算有点头了!

    有15位网友表示赞同!

深入理解swap分区
风中摇曳着长发

深度讲解,看得懂 banget! 终于知道为什么硬盘写满了就卡顿了,原來是数据都被 swap 给挤走了!不过我还是有点迷茫为啥不直接在内存里多放点东西?这个方面再详细一些就好了。

    有9位网友表示赞同!

深入理解swap分区
淡抹丶悲伤

我一直觉得 swap 其实就是个鸡肋功能,用起来也感觉没什么特殊的作用。这篇文章把它的机制描述得很清晰,让我意识到其实它对系统运行还是很有必要的,特别是当内存不足的时候…

    有18位网友表示赞同!

深入理解swap分区
墨城烟柳

我之前总是以为 swap 和缓存区是一回事儿,看完文章才发现两者作用不太一样呢!不过感觉这两种机制都挺重要的,需要好好理解!

    有10位网友表示赞同!

深入理解swap分区
灵魂摆渡人

这个 swap 交换分区 really 是个 magic weapon! 我电脑平时经常内存吃光,现在知道可以用 swap 来解决这个问题了,真是太棒了!

    有13位网友表示赞同!

深入理解swap分区
人心叵测i

对新手用户来说,这篇文章讲解得很有意思,图文并茂,理解起来容易。不过对我这种老用户来说可能有点板泛,没啥新的收获…

    有5位网友表示赞同!

深入理解swap分区
陌潇潇

看完文章之后终于明白,swap 交换分区不是个万能的解决方案,如果系统本身就内存不足,即使利用了 swap 也未必能解决问题! 还是要考虑扩展硬件啊!

    有18位网友表示赞同!

深入理解swap分区
微信名字

这篇文章虽然说得比较专业, 但是还是很好的介绍了 swap 的工作原理, 让我也对这个技术有了更深层的理解. 感谢作者的辛勤付出!

    有19位网友表示赞同!

深入理解swap分区
苏樱凉

感觉这篇博客写的太浅显了,对于我这种经验丰富的系统管理员来说,很多内容都太过简单。希望以后作者可以针对更高级的用户发布一些更深入的内容…

    有11位网友表示赞同!

深入理解swap分区
ゞ香草可樂ゞ草莓布丁

学习 Linux 进程管理的时候经常会遇到这个 swap 交换分区,这篇文章给我解释得很清楚,现在终于明白它在内存管理中的作用了!

    有7位网友表示赞同!

深入理解swap分区
陌颜

我现在用的笔记本电脑一直感觉运行有点慢,不知道是不是配置问题。看了文章之后怀疑是 swap 空间不足导致的,准备去配置一下看看效果…

    有11位网友表示赞同!

深入理解swap分区
十言i

我觉得这篇文章内容很实用,特别是关于如何调整 swap 空间大小的建议,很有帮助! 之前一直不知道怎么设置合适的 swap 尺寸,现在终于找到了答案了!

    有5位网友表示赞同!

深入理解swap分区
全网暗恋者

对于新手用户来说,这篇文章讲解得太过于专业,很多术语我都不太明白。希望作者能用更通俗易懂的语言来解释这些概念…

    有5位网友表示赞同!

深入理解swap分区
昂贵的背影

这个 swap 交换分区真是个让人头疼的东西!我经常会遇到因为 swap 空间不足而导致系统崩溃的情况,真是令人抓狂啊!

    有8位网友表示赞同!

深入理解swap分区
怀念·最初

虽然文章讲解得非常详细,但我还是觉得swap交换分区这个机制比较复杂。 以后有机会再深入研究一下…

    有20位网友表示赞同!

深入理解swap分区
伤离别

这篇文章让我对 Linux 系统的内存管理有了更深刻的理解,尤其是在 swap 交换分区方面。 希望能看到更多关于 Linux kernel 的优秀博客内容!

    有12位网友表示赞同!

深入理解swap分区
未来未必来

我之前一直以为 swap 就是一个虚拟内存的概念,没想到它背后竟然有这么复杂的机制。 本篇博文让我大开眼界!

    有8位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/129215.html

(0)
小su's avatar小su
上一篇 2024年9月2日 上午2:16
下一篇 2024年9月2日 上午2:18

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注