centos 设置swap linux swap分区必须吗

本篇文章给大家谈谈centos 设置swap,以及linux swap分区必须吗对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

如何在CentOS中添加Swap

1、检查 Swap空间

在设置 Swap文件之前,有必要先检查一下系统里有没有既存的 Swap文件。

运行以下命令:

swapon-s

如果返回的信息概要是空的,则表示 Swap文件不存在。

2、检查文件系统

在设置 Swap文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap。运行以下命令:

df-hal

检查返回的信息,还剩余足够的硬盘空间即可。

3、创建并允许 Swap文件

下面使用 dd命令来创建 Swap文件。

ddif=/dev/zeroof=/swapfilebs=1024count=512k

参数解读:

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file>

of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file>

bs=bytes:同时设置读入/输出的块大小为bytes个字节

count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

4、格式化并激活 Swap文件

上面已经创建好 Swap文件,还需要格式化后才能使用。运行命令:

mkswap/swapfile

激活 Swap,运行命令:

swapon/swapfile

以上步骤做完,再次运行命令:

swapon-s

你会发现返回的信息概要:

FilenameTypeSizeUsedPriority

/swapfilefile5242840-1

如果要机器重启的时候自动挂载 Swap,那么还需要修改 fstab配置。

用 vim打开/etc/fstab文件,在其最后添加如下一行:

/swapfileswapswapdefaults00

最后,赋予 Swap文件适当的权限:

chownroot:root/swapfile

chmod0600/swapfile

Centos修改swappiness

swappines是Linux的一个内核参数,控制系统在进行swap时,内存使用相对权重。

那么系统在进行swap时,系统做了什么?

在Linux系统中,当物理内存不足时,系统会拿出预先设定好的部分硬盘空间当swap分区使用,从而解决内存容量不足的情况。

当某进程向系统请求内存发现不足时,系统会把内存中暂时不用的数据交换出去,放在swap分区中,这个过程称为 swap out。

当某进程又需要这些数据且系统发现还有空闲物理内存时,又会把swap分区中的数据交换回物理内存中,这个过程称为 swap in。

当然,swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存。

可以理解为系统在硬盘上设置swap分区,当内存不足了,把这部分硬盘当作内存来用。

swappiness参数值可设置范围在0到100之间。

此参数值越低,就会让Linux系统尽量少用swap分区,多用内存;参数值越高就是反过来,使内核更多的去使用swap空间。

CentOS系统此参数的默认值是30,表示当内存使用超过70%,系统开始使用swap分区。

这里CDH推荐swappiness为10,表示当内存使用率超过90%,系统开始使用swap分区。

临时修改,当前系统的swappiness为10,但重启后,系统的swappiness继续恢复默认值。

此方法为永久修改swappiness分区的办法。

如何设置/修改centos上的swap交换分区

小swap分区的方法:

1、先“df-h”和“fdisk- l”命令查看一下当前分区情况

/dev/mapper/vg_"hostname"-lv_swap就是swap分区,为2G。swap分区亦可用free命令查看到。

2、用swapoff命令关闭交换分区:

# swapoff/dev/mapper/vg_"hostname"-lv_swap

然后用free命令检查下swap是否变为0了。

3、用lvreduce命令把swap分区减小1500M:

# lvreduce-L-1500M/dev/mapper/vg_"hostname"-lv_swap

输入y,确定,看到提示swap减小至516M。

4、重新把/dev/mapper/vg_"hostname"-lv_swap设置为swap分区:

# mkswap/dev/mapper/vg_"hostname"-lv_swap

5、swapon开启swap分区:

# swapon/dev/mapper/vg_"hostname"-lv_swap

然后用free命令检查下swap是否变为516M了。

阅读剩余
THE END