vmware虚拟机给ubuntu系统扩容。两个方面:

  • 给主目录扩容;
  • swap空间扩容;

使用虚拟机+gparted工具的方式。

  • 首先,关闭虚拟机ubuntu系统;
  • 打开设置->硬盘,点击右边栏,“扩展”,输入扩展后的内存。比如原来20G,想要扩容10个G,则输入扩容后的总大小30G。注意,扩容时候,不能有快照,否则“扩展”按钮会灰色,删除已有的快照即可。
  • 打开虚拟机ubuntu系统,此时系统中的分区还是原来的内存大小,df -h查看。需要手动重新分配。安装gparted:
    1
    sudo apt install gparted
  • 打开gparted:
    1
    gparted
    扩容有风险,建议此时生成虚拟机快照,如果扩容失败,可以使用快照恢复。
    查看gparted的分区,有:
    1
    2
    3
    4
    /dev/sda1
    /dev/sda2
    /dev/sda5
    unallocated

主目录分区

  • 如果主目录分区为/dev/sda1,则需要将其之后的/dev/sda2以及/dev/sda5分区删除,才可以resize.
  • 如果/dev/sda5为swap分区,先右击,swapoff关闭,然后再delete,删除。/dev/sda2同样的操作。
  • 如果/dev/sda5为主目录分区,则不需要进行之前的删除操作。

接下来就是分配内存:
右击需要分配内存的分区,resize/Move,输入要分配的内存,或者直接拖动进度条分配。完成后,点击绿色勾勾“apply all operations”,即可。

分配swap分区

右击unallocated,New->extended Partition->linux-swap。输入或者拖动进行分配,OK,点击绿色勾勾“apply all operations”,再开启swap分区。

请注意,尽管swap区通常建议用于使用传统机械硬盘驱动器的系统,但使用于SSD可能会导致硬件加速退化。

什么是 Swap

Swap 分区(也称交换分区)是硬盘上的一个区域,被指定为操作系统可以临时存储数据的地方,这些数据不再保存在 RAM 中。

这能够增加服务器在工作“内存”中保留的信息量,当 RAM 中没有足够的空间容纳正在使用的应用程序数据时,将使用硬盘驱动器上的交换空间。

以下说明swap分区存在/目录下的情况:

检查系统的交换信息

在开始之前,我们可以检查系统是否已经有一些可用的交换空间,可能有多个交换文件或交换分区,但通常应该是足够的。

查看系统是否有交换分区:

1
2
swapon --show
free -m

如果两条指令都显示没有或者为0,表示没有swap分区,如果有:/swapfile,则:

1
2
3
## 关闭swap
cd /
sudo swapoff swapfile

不管是否有swapoff,都执行以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 查看可用空间
df -h

# 创建swap文件,分配8G内存
fallocate -l 8G /swapfile

# 验证是否保留了正确的交换空间
ls -lh /swapfile

# 修改交换文件权限
chmod 600 /swapfile
ls -lh /swapfile
# 标记为交换空间
mkswap /swapfile

# 启用启用该交换文件
swapon /swapfile
swapon --show