Linux如何开启关闭SWAP?

赞赏 2017-03-21

Linux 中的 SWAP(交换分区),类似于 Windows 的虚拟内存。系统会把一部分硬盘空间虚拟成内存使用,将系统内非活动内存换页到 SWAP,以提高系统可用内存。


开启 SWAP:

1、创建用于交换分区的文件:

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

block_sizenumber_of_block 大小可以自定义,比如 bs=1M count=1024 代表设置 1G 大小 SWAP 分区。

2、设置交换分区文件:

mkswap /mnt/swap

(如果mkswap报错,参考这篇文章: Centos mkswap error: swap area needs to be at least 40 KiB )


3、立即启用交换分区文件

swapon /mnt/swap

注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a 

 


4、设置开机时自启用 SWAP 分区:

需要修改文件 /etc/fstab 中的 SWAP 行,添加

/mnt/swap swap swap defaults 0 0

/mnt/swap 路径可以修改,可以根据创建的 SWAP 文件具体路径来配置。


5、修改 swpapiness 参数

Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。

查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区:

可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:

echo 10 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:  

# vim /etc/sysctl.conf
vm.swappiness=10
# sysctl -p



关闭 SWAP:

当系统出现内存不足时,开启 SWAP 可能会因频繁换页操作,导致 IO 性能下降。如果要关闭 SWAP,可以采用如下方法。

1、free -m 查询 SWAP 分区设置:

2、使用命令 swapoff 关闭 SWAP,比如:

swapoff /mnt/swap  

3、修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载:

4、  通过 free -m  确认 SWAP 已经关闭。

5、 swappiness 参数调整:

可以使用下述方法临时修改此参数,这里配置为 0%

echo 0 >/proc/sys/vm/swappiness 

若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:

# vim /etc/sysctl.conf
vm.swappiness=0
# sysctl -p


登陆后阅读全文
阅读 4496 赞赏 0 有用 2 没用 0 收藏 1 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

相关文章

Centos mkswap error: swap area needs to be at least 40 KiB

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

Linux 系统虚拟主机 .htaccess 如何限制某些 IP 访问?

云服务器 ECS Linux 系统如何屏蔽某个 IP 的访问?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章