Lniux系统 swap命令

文章目录

    • swapon
    • swapoff
    • swappiness

swapon

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

语法

swapon(选项)(参数)

选项

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

参数

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

实例

mkswap -c /dev/hdb4 (-c是检查有无坏块)
swapon -v /dev/hdb4
swapon -s
Filename                                type            Size    Used    Priority
/dev/hda5                               partition       506008 96      -1
/dev/hdb4                               partition       489972 0       -2

swapoff

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

语法

swapoff(选项)(参数)

选项

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

参数

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

实例

关闭交换分区
swapoff /dev/sda2

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

有时运行大量的进程后swap大量占用,达到30%的话机器会变得很慢,可以用以下两个命令清除刷新swap

swapoff -a
swapon -a

这样swap就还原到初始状态

swappiness

简介

swappiness,Linux内核参数,控制换出运行时内存的相对权重。
swappiness参数值可设置范围在0到100之间。  
低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。
默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。
对于大多数操作系统,设置为100可能会影响整体性能,而设置为更低值(甚至为0)则可能减少响应延迟。

参数值

# 仅在内存不足的情况下--当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。
vm.swappiness = 0  

# 内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上,进行最少量的交换,而不禁用交换。
vm.swappiness = 1  

# 当系统存在足够内存时,推荐设置为该值以提高性能。
vm.swappiness = 10 

# 默认值
vm.swappiness = 60 

# swap分区优先级调到最高
vm.swappiness = 100 

以下是设置swap优先级的方法

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

输 入:

sysctl -q vm.swappiness

你会看到值是60, 更改:

sudo sysctl vm.swappiness=10

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

如果你想永久得改变这一值,你需要更改 sysctl.conf 文件:

vim /etc/sysctl.conf
添加:
vm.swappiness=10

生效

sudo sysctl -p

我发现对 于我的1G内存,将此值设为5是最合适的。

你可能感兴趣的:(Linux系统,linux)