1. 写在前面
你是否正在寻找一种无需重启系统即可清除 Linux Swap 空间的方法?本文将通过示例介绍具体方法。
2. 修改/刷新 Linux Swap
要在不重启的情况下清除 Linux Swap,需要了解交换容量(swappiness)的概念。交换容量指的是内核参数,它决定数据从 RAM 转移到 Swap 的频率和数量。
swappiness
参数值可设置范围在 0 到 100 之间。此参数值越低,就会让 Linux 系统尽量少用 Swap 分区,多用内存,参数值越高就是反过来,使内核更多的去使用 Swap 空间。Ubuntu 系统 swappiness
默认值为 60,表示的含义可以这样来理解,当剩余物理内存低于40%(40=100-60)时,开始使用 Swap 分区。
要检查当前的 swappiness
设置比例,请使用 cat /proc/sys/vm/swappiness
命令。要临时更改交换度值,请使用 sudo sysctl vm.swappiness=x
(用所需值替换 x)。
示例:
检查 Swap 设置:
root@dev:~# cat /proc/sys/vm/swappiness
--------------------------------------------------------------------------------------
60
临时设置 Swap 设置:
root@dev:~# sudo sysctl vm.swappiness=50
--------------------------------------------------------------------------------------
vm.swappiness = 50
root@dev:~# cat /proc/sys/vm/swappiness
--------------------------------------------------------------------------------------
50
永久设置,重启后仍然生效:
vi /etc/sysctl.conf
# 添加
vm.swappiness=0
或者直接写入
echo 'vm.swappniess=0'>>/etc/sysctl.conf
刷新 Swap:
在清除交换内存之前,请确保有足够的可用内存支持该操作。使用 free -m
命令检查交换内存和内存的空间。
要清除交换内存(将 Swap 里的数据转储回内存,并清空Swap里的数据),请使用 swapoff -a
禁用交换,等待一会,然后使用 swapon -a
再次启用交换。
swapoff -a && swapon -a
通过这些步骤,可以检查、修改并有效清除 Linux 中的交换内存,而无需重启系统。切记要根据系统需求和可用资源,谨慎调整交换值。
命令整理:
命令 | 描述 |
---|---|
cat /proc/sys/vm/swappiness | 显示当前的交换度值 |
sudo sysctl vm.swappiness=x | 将交换度值更改为 “x |
free -m | 显示交换内存和内存的当前使用情况和可用性 |
sudo swapoff -a | 禁用交换 |
sudo swapon -a | 启用交换 |
3. 优化不同场景下 Swappiness 配置
场景 | 建议交换值 |
---|---|
台式机/笔记本电脑,内存不超过 4GB,硬盘存储空间 | 10 or 0 |
配备充足内存和 SSD 存储的服务器 | 60 或以上 |
虚拟化环境 | 30~60,负载而定 |
更改后请监控系统性能,并根据需要进行调整,以便在内存使用和响应速度之间达到理想的平衡。
感谢您花时间阅读文章!
收藏本站不迷路!
原文始发于微信公众号(滑翔的纸飞机):如何在不重启的情况下清除 Linux 中的 Swap 空间?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/260778.html