Linux 内存资源紧张?一文看懂如何利用swap防止系统崩溃

目录

什么是swap

swap的作用

swap与RAM的区别

swap的类型

swap 分区

swap 文件

配置Swap

配置Swap分区

配置swap文件

 查看和管理swap

调整swap使用策略

总结


什么是swap

swap 是 Linux 操作系统中一种虚拟内存管理技术。当系统内存不足时,操作系统会将某些不常用的内存页面写入到 swap 空间中。这样可以释放物理内存供其他进程使用。后续如果需要访问这些被交换出去的数据,操作系统会将其从 swap 空间读回到物理内存。

swap的作用

内存扩展:在物理内存(RAM)耗尽时,swap 提供了一种扩展内存的方法

提高系统稳定性:即使物理内存不足,系统也可以继续运行而不会崩溃

swap与RAM的区别

swap的类型

swap 可以是一个专用的交换分区(swap partition)或一个交换文件(swap file)

swap 分区

在磁盘上创建的一个专用分区,只用于 swap。这种方式通常性能较好,因为分区的连续性和固定大小可以提高访问速度

swap 文件

在现有的文件系统上创建一个文件,并将其用作 swap。这种方式灵活性更高,因为可以随时调整 swap 大小而不需要重新分区

配置Swap

配置Swap分区

  • 创建swap分区

sudo fdisk /dev/sdX   # 用合适的设备替换 sdX
  • 设置分区类型为 swap

sudo fdisk /dev/sdX
Command (m for help): n
Command (m for help): t
Hex code (type L to list all codes): 82
Command (m for help): w
  • 格式化swap 分区

sudo mkswap /dev/sdX
  • 启用 swap 分区

sudo swapon /dev/sdX
  • 添加到 /etc/fstab 以开机自动挂载

sudo echo '/dev/sdX1 none swap sw 0 0' | sudo tee -a /etc/fstab

配置swap文件

  • 创建 swap 文件

sudo fallocate -l 4G /swapfile  # 创建一个4GB的swap文件
  • 设置swap文件权限

sudo chmod 600 /swapfile
  • 格式化swap文件

sudo mkswap /swapfile
  • 启用 swap 文件

sudo swapon /swapfile
  • 添加到 /etc/fstab以开机自动挂载

 echo '/dev/sdX1 none swap sw 0 0' | sudo tee -a /etc/fstab

 查看和管理swap

  • 查看 swap 状态

swapon --show
  • 禁用swap

sudo swapoff -a  # 禁用所有swap

调整swap使用策略

swappiness 参数控制内核将数据移出物理内存到 swap 的倾向。取值范围是 0 到 100,值越大,内核越倾向于使用 swap

  • 查看当前swappiness值

cat /proc/sys/vm/swappiness
  • 临时调整swappiness

sudo sysctl vm.swappiness=10  # 将 swappiness 设置为10
  • 永久调整swappiness

 在 /etc/sysctl.conf 中添加或修改

vm.swappiness=10

总结

swap 是一种用于扩展系统内存、提高系统稳定性的重要机制。虽然 swap 使用磁盘空间,速度较慢,但在内存资源紧张时,能有效防止系统崩溃。通过合理配置和使用 swap,可以优化系统性能和稳定性

相关资料

https://www.geeksforgeeks.org/how-to-add-swap-space-on-ubuntu-20-04/

---the end---

**关注我的微信公众号,获取更多精彩内容!**

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值