linux下清理内存以及swap

linux下清理内存以及swap,第1张

第一步:先执行sync命令

#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 大小


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/138515.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-18
下一篇2023-03-18

发表评论

登录后才能评论

评论列表(0条)

    保存