我正在使用DS4 Azure VM(Ubuntu 14.04)。它带有56GB本地SSD。
我需要在此本地SSD中设置25GB Swapfile。当我在VM中执行df -h
时,我可以看到它似乎已映射到/mnt/
文件夹。以下是整个输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 22G 6.4G 77% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 14G 4.0K 14G 1% /dev
tmpfs 2.8G 472K 2.8G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 14G 0 14G 0% /run/shm
none 100M 0 100M 0% /run/user
none 64K 0 64K 0% /etc/network/interfaces.dynamic.d
/dev/sdb1 56G 97M 56G 1% /mnt
但是,如果我尝试在/mnt
中初始化swapfile,则仍然将其添加到/dev/sda1
中的可用磁盘空间中。
我需要做什么才能设置交换文件?一个说明性的例子将很棒。提前致谢。
我通常使用以下命令来设置Swapfile:
sudo fallocate -l 25G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
更新:
我进入了/etc/waagent.conf
,然后调整了以下内容:
# Format if unformatted. If 'n', resource disk will not be mounted.
ResourceDisk.Format=y
# File system on the resource disk
# Typically ext3 or ext4. FreeBSD images should use 'ufs2' here.
ResourceDisk.Filesystem=ext4
# Mount point for the resource disk
ResourceDisk.MountPoint=/mnt
# Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=y
# Size of the swapfile.
ResourceDisk.SwapSizeMB=26000
之后,我从门户中调整了(并因此重新启动)Azure VM。目前,我无法判断设置是否已生效。我的设置是否正确?确保它们生效的最佳方法是什么?
您是对的,我们应该修改/etc/waagent.conf
以添加交换文件。
通过修改/etc/waagent.conf文件并设置以下 3参数将在由cormusceSisk.mountpoint定义的目录中创建一个交换文件
ResourceDisk.Format=y
ResourceDisk.EnableSwap=y
ResourceDisk.SwapSizeMB=26000
那么我们应该重新启动walinuxagent:
service walinuxagent restart
命令显示代理重新启动后使用的新交换空间:
dmesg | grep swap
root@ubuntu:~# swapon -s
Filename Type Size Used Priority
/mnt/swapfile file 26623996 0 -1
root@ubuntu:~# df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 3.4G 12K 3.4G 1% /dev
tmpfs tmpfs 697M 412K 697M 1% /run
/dev/sda1 ext4 29G 869M 27G 4% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 3.5G 0 3.5G 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sdb1 ext4 99G 26G 68G 28% /mnt
我调整了(并重新启动)我的Azure VM从门户网站
我调整了我的VM大小,而交换文件确实丢失。
是我的设置正确,是确保他们拥有的最佳方法 生效?
修改/etc/waagent.conf
并重新启动walinuxagent
后,我们可以使用swapon -s
进行检查。