Linux 磁盘维护 : swapon & swapoff 命令详解


swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。

语法

swapon(选项)(参数)

选项

-a:将/etc/fstab文件中所有设置为swap的设备,启动为交换区
-h:显示帮助;
-p<优先顺序>:指定交换区的优先顺序;
-s:显示交换区的使用状况;
-V:显示版本信息。

 

交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。

swapoff命令用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。

 语法

swapoff(选项)(参数)

 选项

-a:关闭配置文件“/etc/fstab”中所有的交换空间。

交换空间:指定需要激活的交换空间,可以是交换文件和交换分区,如果是交换分区则指定交换分区对应的设备文件。

实例

关闭交换分区

swapoff /dev/sda2

 

扩展知识:利用swapoff和swapon刷新swap缓存

有时运行大量的进程后swap大量占用,达到30%的话机器会变得很慢
swapoff 的原理:将虚拟空间的数据写入到物理内存中,在使用swapoff时要保证物理内存的大小大于swap虚拟内存。
一:清除刷新swap

1、使用sync 将内存中的数据写入到磁盘

#sync

2、关闭swap,并且查看swap关闭的状态,关闭时如果swap很大,那么会比较慢,可使用swapon -s 查看进度

swapoff -a

3、查看swap关闭的进度

swapon -s

4、启用swap状态

swapon -a

这样swap就还原到初始状态



二:设置swap优先级

swappiness
Ubuntu Feisty默认的vm.swappiness值是60,这一默认值已经很合适了。但你可以改小一些降低swap的加载,系统性能会有一点点的提升
输 入:

#sysctl -q vm.swappiness

你会看到值是60, 更改:

#sysctl vm.swappiness=10

这样你就将值由60改为10,这可以大大降低系统对于swap的写入,建议内存为512m或更多的朋友采用此方法。如你你发现你对于swap的使用极少,可以将值设为0。这并不会禁止你对swap的使用,而是使你的系统对于swap的写入尽可能的少,同时尽可能多的使用你的实际内存。这对于你在切换应用程序 时有着巨大的作用,因为这样的话它们是在物理内存而非swap分区中。
如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:

#vim /etc/sysctl.conf

添加:

vm.swappiness=10

到末行,需要重启生效。
我发现对于我的1G内存,将此值设为5是最合适的。

原文地址:https://blog.csdn.net/yexiangCSDN/article/details/83182259


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM