【经验分享】Ubuntu如何设置swap交换

我的Linux小鸡内存只有512兆,经常爆内存,导致很多应用没有办法一直正常运行,可以通过设置swap来缓解一下,虽然和内存的速度无法媲美,但是能一定程度缓解一下问题

文章目录

    • [1. 创建一个交换文件](#1. 创建一个交换文件)
    • [2. 设置正确的权限](#2. 设置正确的权限)
    • [3. 设置交换空间](#3. 设置交换空间)
    • [4. 启用交换空间](#4. 启用交换空间)
    • [5. 使交换永久生效](#5. 使交换永久生效)
    • [6. 保存并关闭文件](#6. 保存并关闭文件)
    • [7. 使用top命令检查](#7. 使用top命令检查)

1. 创建一个交换文件

首先,使用 dd 命令或 fallocate 命令创建一个大小为 1GB 的交换文件。fallocate 命令比 dd 更快,但并非在所有系统上都可用。以下是使用 fallocate 的示例命令:

bash 复制代码
   sudo fallocate -l 1G /swapfile

如果 fallocate 不可用,可以使用 dd 命令:

bash 复制代码
    sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

2. 设置正确的权限

出于安全原因,交换文件应该只能被 root 用户读写。设置权限:

bash 复制代码
    sudo chmod 600 /swapfile

3. 设置交换空间

使用 mkswap 命令将文件设置为交换空间:

bash 复制代码
   sudo mkswap /swapfile

4. 启用交换空间

使用 swapon 命令启用交换空间:

bash 复制代码
   sudo swapon /swapfile

5. 使交换永久生效

为了在系统重启后保持交换设置,需要编辑 /etc/fstab 文件。打开这个文件:

bash 复制代码
   sudo vi /etc/fstab

然后添加以下行:

bash 复制代码
    /swapfile none swap sw 0 0

6. 保存并关闭文件

bash 复制代码
  :wq

7. 使用top命令检查

相关推荐
Andy杨2 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器
2301_780789664 小时前
UDP和TCP的主要区别是什么
服务器·网络协议·web安全·网络安全·udp
写写闲篇儿5 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
一个龙的传说7 小时前
linux 常用命令
linux·服务器·zookeeper
别致的影分身8 小时前
Docker 镜像原理
运维·docker·容器
路人蛃8 小时前
通过国内扣子(Coze)搭建智能体并接入discord机器人
人工智能·python·ubuntu·ai·aigc·个人开发
庸子8 小时前
Ansible & AWX 自动化运维
运维·自动化·ansible
Ching·9 小时前
esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
linux·python·esp32·esp_idf升级
斯是 陋室9 小时前
在CentOS7.9服务器上安装.NET 8.0 SDK
运维·服务器·开发语言·c++·c#·云计算·.net