Linux检查Swap交换空间的常用命令小结

前言

Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕。例如:安装redhat的时候,你可以默认划分硬盘空间,交换区的大小事系统默认配置,当你安装完系统后需要安装一个oracle数据库,突然发出警告,交换空间不够。此刻该怎么办?

当我们系统上的物理内存或RAM已满时,我们最终会利用系统上的交换空间。在此过程中,内存的非活动页面将移动到交换空间,从而创建更多内存资源。当系统关闭RAM时,此空间特别有用;但是,交换空间位于硬盘驱动器上,因此访问速度较慢。因此,它不应被视为RAM的适当替代方案。

Linux free命令

free

free

此命令用于在几行中检查系统上的内存和交换利用率。不使用任何开关,显示的输出以千字节打印。

free -h

free -h

使用-h开关,free命令以最接近的3位数格式显示内存和交换利用率。

swapon命令

swapon -s

您可以使用swapon命令检查特定分区,逻辑卷或文件的交换。在这里,我们将使用-s(摘要)开关来获取交换详细信息(以千字节为单位)。

top命令

top

top命令输出的标题部分显示交换空间信息,以千字节为单位。提供此信息的其他命令包括htop,glances和itop等。

Linux swappiness参数设置与内存交换

vm.swappiness,定义内核交换内存页面的积极程度。较高的值会增加攻击性,较低的值会减少交换量。建议将值设置为10来避免交换延迟。

是控制系统对交换空间的使用程度,0表示尽量不使用swap交换空间,100表示积极的使用swap空间,默认值是60。

由于使用swap交换空间会产生磁盘IO,一定程度上影响了系统的性能,因此根据实际情况修改swappiness值能有效改善系统性能。

如果对系统的性能产生怀疑,一般建议将swappiness的值改为10

swappiness参数值说明

vm.swappiness = 0

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

vm.swappiness = 1

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

vm.swappiness = 10

当系统存在足够内存时,推荐设置为该值以提高性能。

vm.swappiness = 60

默认值

vm.swappiness = 100

内核将积极的使用交换空间。

对于内核版本为3.5及以上,Red Hat内核版本2.6.32-303及以上,多数情况下,设置为1可能比较好,0则适用于理想的情况下(it is likely better to use 1 for cases where 0 used to be optimal)

修改swappiness的值

1)临时设置(重启后失效)

方法1

# sysctl -a | grep vm.swappiness
vm.swappiness = 30

方法2

# echo 10 > /proc/sys/vm/swappiness

2)永久设置

echo "vm.swappiness=10" >> /etc/sysctl.confsysctl -p

本文参考:

Linux检查Swap交换空间的五个命令小结

Linux swappiness参数设置与内存交换

swappiness · Linux 文档

除非特别注明,本站所有文字均为原创文章,作者:Fish

No Comment

留言

电子邮件地址不会被公开。 必填项已用*标注

发表留言请遵守中华人民共和国有关法律、法规,尊重网上道德