Linux增大Swap分区,增加虚拟内存,以解决内存不足等问题 您所在的位置:网站首页 虚拟机内存分配可以超过物理机吗 Linux增大Swap分区,增加虚拟内存,以解决内存不足等问题

Linux增大Swap分区,增加虚拟内存,以解决内存不足等问题

2024-07-08 03:51| 来源: 网络整理| 查看: 265

在内存不够大时,需要开启Swap,使用一部分硬盘,增加虚拟内存,解决内存容量不足的情况。 本文是用 Ubuntu16.04 来操作的,其他 Linux 系统类似。 很简单,跟着下面的步骤,一步一步来操作即可。

1. 查看当前是否开启了 Swap

在终端使用命令 free -m 查看输出结果。

$ free -m total used free shared buff/cache available Mem: 15881 10040 1157 1529 4684 3724 Swap: 0 0 0

可以看到最后一行是0 0 0,则表示当前没有开启。

如果已经开启的(Ubuntu16 默认有1G Swap),例如我这里已经设置了2930M的swap,我们仍然可以用下面的方法增大虚拟内存。

$ free -m total used free shared buff/cache available Mem: 15881 10040 1157 1529 4684 3724 Swap: 2930 946 1983 2. 创建 Swap 文件

我们首先新建一个单独的文件夹myswapfile,以储存swap文件:

$ mkdir myswapfile $ cd myswapfile/

使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会

dd if=/dev/zero of=/swapfile bs=1M count=2048

count=2048 表示创建 2G 的虚拟内存,因为这里用到的单位是 M,如果要创建 6G 虚拟内存,则把2048 改成 6144 即可,因为 1024 * 6 = 6144。

当然也可以按G来创建,效果是一样的,这个是创建2G,每一块是1G,一共两块,直接用这个命令:

dd if=/dev/zero of=swapfile bs=1G count=2

输出:

记录了2+0 的读入 记录了2+0 的写出 2147483648 bytes (2.1 GB, 2.0 GiB) copied, 31.3265 s, 68.6 MB/s

可以使用 ls / | grep swapfile 命令查看一下,确保交换文件存在,创建成功。

~/myswapfile$ ls swapfile 3. 激活 Swap 文件

依次执行下面的命令

cd myswapfile sudo chmod 600 swapfile mkswap swapfile

依次运行上面两个命令后,如果成功,将会看到类似下面的输出

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) 无标签, UUID=3a5fb2f9-5f5b-4e07-8c58-1acc5ceb2efc 4. 开启 Swap

sudo swapon swapfile 到这里,Swap 已经开启成功。我们再次使用 free -m 命令查看一下,你将看到类似下面的输出。

free -m total used free shared buff/cache available Mem: 15881 10110 1238 1535 4532 3641 Swap: 4978 998 3979

最后一行 Swap 将不再是2930,而是我们增加了2048M后的大小。

5. 设置系统启动时自动开启 Swap

使用编辑器编辑 /etc/fstab 文件,添加 Swap 自动开启的配置,这里推荐使用 gedit 进行编辑,也可以使用其他文本编辑工具,例如 nano。

# 编辑这个文件需要管理员权限 sudo gedit /etc/fstab

在 fstab 文件最后一行添加下面的内容

/home/aifool/myswapfile/swapfile none swap defaults 0 0

然后保存,退出 ,这样开机是就会自动添加这个swap空间的大小。

6.查看目前已存在的swap空间

我们可以添加多个储存在不同位置的swap分区,我们可以使用sudo swapon --show查看已经存在的swap:

sudo swapon --show

输出:

NAME TYPE SIZE USED PRIO /dev/sda3 partition 977M 977M -2 /home/aifool/swapfile/swapfile file 1.9G 21.5M -3 /home/aifool/myswapfile/swapfile file 2G 0B -4

后面的这个2G的空间就是我刚才添加的。上面那个1.9G的是我之前添加。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有