否启用了swap内存?

/

一、自查
SSH登录服务器,
(1)通过free命令查看内存使用状态:
free -h
输出信息示例如下:

可以看到启用了swap虚拟内存,当前swap内存总量15G,已使用866M。
(2)通过如下命令查看swappiness 权重配置:
cat /proc/sys/vm/swappiness

二、剖析
Linux中swap的作用类似Windows系统中的“虚拟内存”。拿出部分硬盘空间当swap分区(虚拟成内存)使用,以应对内存容量不足的情况。
swappiness的值的大小与如何使用swap分区有很大联系。
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
举例来说,如swappiness的值为60,表示内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。
内存的速度比磁盘快很多,过度使用swap会加大系统IO,同时因频繁换页操作影响系统性能,增加响应延迟。
生产环境对响应延迟比较敏感,不建议使用swap内存。
根据项目情况,如当前内存配置过低,应该联系客户进行内存升配。
三、应对
如需禁用swap,可参考如下步骤操作(使用root用户操作):
(1)执行如下命令,关闭所有swap分区:
swapoff -a
(2)修改sysctl.conf文件:
vi /etc/sysctl.conf

加上如下内容(用以调整swappiness权重):
vm.swappiness=0

执行如下命令激活配置:
sysctl -p
举例子:

转载请注明作者和出处,并添加本页链接。
原文链接: //svn.seekcy.com:33382/298

给我留言