#sync
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
第二步:清理linux内存缓存
#echo 3 >/proc/sys/vm/drop_caches
一般系统是不会自动释放内存的
关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:
0 – 不释放
1 – 释放页缓存
2 – 释放dentries和inodes
3 – 释放所有缓存
此指令输入立即生效,意在释放所有缓存。
第三步:关闭swap,再开启swap
(如果只是清理swap,第二部可以不用进行操作,因为操作了第二步关闭swap时会使用更长的时间)
#swapoff -a 这一步因为是后台 在一点一点的释放,如果配置的swap超大,这里就等待得超久一些
#swapon -a 再开启
linux什么时候开始使用虚拟内存(swap)
A.[root@wenwen ~]# cat /proc/sys/vm/swappiness
60
上面这个60代表物理内存在使用60%的时候才会使用swap
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
通常情况下:
swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。
B.修改swappiness参数
临时性修改:
[root@wenwen ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@wenwen ~]# cat /proc/sys/vm/swappiness
10
永久性修改:
[root@wenwen ~]# vim /etc/sysctl.conf
加入参数:
vm.swappiness = 35
然后在直接:
[root@wenwen ~]# sysctl -p
查看是否生效:
cat /proc/sys/vm/swappiness
35
title: 2021-02-07-Linux开启Swap分区
date: 2021-02-07 11:20:20
categories: [linux]
tags: [linux分区扩容]
toc: true
场景: 华为云购买的机器,默认不会开启 swap 分区,服务器运行内存只有 4GB ,不满足使用,开启 swap 交换分区
1、 开启 swap 分区
新建一个专门的文件用于 swap 分区
注:此文件的大小是 count 的大小乘以 bs 大小,上面命令的大小是 8GB
2、 通过 mkswap 命令将上面新建出的文件做成 swap 分区
3、 查看内核参数 vm.swappiness
若 vm.swappiness 为 0 则根据实际需要调整成 30 或者 60
注:若想永久修改,则编辑 /etc/sysctl.conf 文件
4、 启用此交换分区的交换功能
这里有可能会有报错,如下
解决方法:
尝试激活 Swap 文件
5、 关闭 swap 分区
6、 重新激活 swap 分区,没有写入系统配置文件中,系统重启后,就需要重新激活
7、 如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件
8、 关机重启确认 Swap 大小
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)