Skip to content

Commit fd03859

Browse files
authored
Merge pull request #63175 from mabicca/patch-14
Update optimization.md
2 parents 51e6c36 + 9d8ff99 commit fd03859

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

articles/virtual-machines/linux/optimization.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,38 @@ By default when you create a VM, Azure provides you with an OS disk (**/dev/sda*
4242
## Linux Swap Partition
4343
If your Azure VM is from an Ubuntu or CoreOS image, then you can use CustomData to send a cloud-config to cloud-init. If you [uploaded a custom Linux image](upload-vhd.md?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json) that uses cloud-init, you also configure swap partitions using cloud-init.
4444

45-
On Ubuntu Cloud Images, you must use cloud-init to configure the swap partition. For more information, see [AzureSwapPartitions](https://wiki.ubuntu.com/AzureSwapPartitions).
45+
You can't use the **/etc/waagent.conf** file to manage swap for all images that are provisioned and supported by cloud-init. For the full list of images, see [Using cloud-init](using-cloud-init.md).
46+
47+
The easiest way to manage swap for these images is to complete these steps:
48+
49+
1. In the **/var/lib/cloud/scripts/per-boot** folder, create a file called **create_swapfile.sh**:
50+
51+
**$ sudo touch /var/lib/cloud/scripts/per-boot/create_swapfile.sh**
52+
53+
1. Add the following lines to the file:
54+
55+
**$ sudo vi /var/lib/cloud/scripts/per-boot/create_swapfile.sh**
56+
57+
```
58+
#!/bin/sh
59+
if [ ! -f '/mnt/swapfile' ]; then
60+
fallocate --length 2GiB /mnt/swapfile
61+
chmod 600 /mnt/swapfile
62+
mkswap /mnt/swapfile
63+
swapon /mnt/swapfile
64+
swapon -a ; fi
65+
```
66+
67+
> [!NOTE]
68+
> You can change the value according to your need and based on the available space in your resource disk, which varies based on the VM size being used.
69+
70+
1. Make the file executable:
71+
72+
**$ sudo chmod +x /var/lib/cloud/scripts/per-boot/create_swapfile.sh**
73+
74+
1. To create the swapfile, execute the script right after the last step:
75+
76+
**$ sudo /var/lib/cloud/scripts/per-boot/./create_swapfile.sh**
4677

4778
For images without cloud-init support, VM images deployed from the Azure Marketplace have a VM Linux Agent integrated with the OS. This agent allows the VM to interact with various Azure services. Assuming you have deployed a standard image from the Azure Marketplace, you would need to do the following to correctly configure your Linux swap file settings:
4879

0 commit comments

Comments
 (0)