为linux增加虚拟内存, 解决你物理内存,实际内存不足的问题

时间:2024-03-30 20:58:05

如果你的物理内存不够用,可以加虚拟内存缓解内存压力

文章目录

      • 建立虚拟内存装置
      • 建立虚拟内存档案
      • 使用交换文件或分区后,为了使swap永久化,需要在/etc/fstab文件中添加相应的条目

建立虚拟内存装置

  • 直接再加一颗硬盘,并且将其中的某个分区规划为swap 的文件系统
# 查看磁盘分区
sudo fdisk -l
 
# 开始分区
sudo fdisk /dev/sdx  # 将sdx替换为正确的磁盘设备
 
# 创建一个新的分区,然后写入swap格式
sudo mkswap /dev/sdx1  # 将sdx1替换为新建的swap分区
sudo swapon /dev/sdx1  # 启用swap分区

启动swap ,顺便说一下 关掉swap的命令为swapoff

建立虚拟内存档案

  • 以 dd指令来建立swapfile;

如使用dd来新增一个64MB的档案在/tmp底下

dd if=/dev/zero of=/tmp/swap bs=4k count=16382

dd这个指令是用来转换档案并且copy用的
if指的是要被转换的输入档案格式 /dev/zero可以由man zero来查看内容
of指的是输出的档案,我们将之输出到/tmp/swap这个档案
bs指的是一个扇区占用几个kb;
count指的是要使用多少个bs,所以最后的容量为bs*count = 4k * 16832 ~ 64MB

  • 以mkswap 来将swapfile格式化为swap的档案格式
sudo chmod 600 /swapfile       # 设置文件权限
sudo mkswap /swapfile          # 格式化swap文件
  • 以swapon来启动该档案,使之成为swap, 执行完后可以用free查看
sudo swapon /swapfile          # 启用swap文件

使用交换文件或分区后,为了使swap永久化,需要在/etc/fstab文件中添加相应的条目

/swapfile none swap sw 0 0
/dev/sdx1 none swap sw 0 0

注意:替换/swapfile和/dev/sdx1时,请使用实际的文件名和分区名