Introduction | Users can create swap space during the installation process of any Linux operating system or when necessary. If you forgot to create a swap partition when installing Linux or you want to increase the space of the swap partition, you can create or add it at any time. |
Sometimes you need to increase the space of the swap partition when you upgrade RAM after installation. For example, if you want to upgrade the RAM of your system from 1GB to 2GB, then you have to increase the space of your swap partition. Upgrade it (from 2GB to 4GB) because it uses double the capacity of physical RAM. (LCTT Annotation: In fact, this is a misunderstanding. The swap partition does not necessarily have to be double the physical memory capacity, it is just a convention. In fact, if your physical memory is enough, you don’t need to swap the partition at all - in this case , maybe if you increase the physical memory, there is no need to increase the swap partition size.)
Swap space is the space on the disk that is reserved for virtual memory when the physical memory (RAM random access memory) is full. If the system needs more memory resources when RAM is full, inactive pages in memory will be moved to swap space. This can help the system run applications for more time, but it should not be treated as an expansion of RAM.
It is recommended that you create a dedicated swap partition, but if you do not have one available, you can use a swap file, or a combination of a swap partition and a swap file. Swap space is usually recommended for users to be at least 4 GB, and users can also create swap space according to their own requirements and environment.
I found that most VMs and cloud servers do not have swap partitions, so in this case, we can use the following three methods to create, extend or increase the swap space.
How to detect the current swap partition sizeUse the free & swapon command to detect the size of the current swap partition space.
$ free -h total used free shared buff/cache available Mem: 2.0G 1.3G 139M 45M 483M 426M Swap: 2.0G 655M 1.4G $ swapon --show NAME TYPE SIZE USED PRIO /dev/sda5 partition 2G 655.2M -1
The above output shows that the current swap partition space is 2GB.
Method 1: Create swap file through fallocate commandThe fallocate program is the best way to instantly create files of pre-allocated size.
The following command will create a 1GB size /swapfile.
$ sudo fallocate -l 1G /swapfile
Check whether the size of the created file is correct.
$ ls -lh /swapfile -rw-r--r-- 1 root root 1.0G Jun 7 09:49 /swapfile
Set the permissions of the file to 600 so that only the root user can access this file.
$ sudo chmod 600 /swapfile
Convert this file to a swap file by running the following command.
$ sudo mkswap /swapfile Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=cda50e0e-41f3-49c7-af61-b8cb4a33a464
Enable the swap file by running the following command.
$ sudo swapon /swapfile
Add the newly created swap file to the fstab file so that changes to the swap partition space can take effect even after restarting.
$ vi /etc/fstab /swapfile swap swap defaults 0 0
Check the newly created swap file.
$ swapon --show NAME TYPE SIZE USED PRIO /dev/sda5 partition 2G 657.8M -1 /swapfile file 1024M 0B -2
Now I can see a new 1GB /swapfile1 file. Restart the system for the new swap file to take effect.
Method 2: Create a swap file through the dd commanddd command is another utility that can help us create pre-allocated size files instantly.
The following dd command will create 1GB of /swapfile1.
$ sudo dd if=/dev/zero of=/swapfile1 bs=1G count=1 1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 16.6154 s, 64.6 MB/s
Detailed explanation: if=/dev/zero is the input file, /dev/zero is a special file in Unix-like operating systems, which provides as many null characters (ASCII NUL, 0x00) as possible read from it.
of=/swapfile1 Set the output file.
bs=1G The one-time read and write size is 1GB
count=1 Copy only one input block
Check whether the size of the created file is correct.
$ ls -lh /swapfile1 -rw-r--r-- 1 root root 1.0G Jun 7 09:58 /swapfile1
Set the permissions of the file to 600 so that only the root user can access this file.
$ sudo chmod 600 /swapfile1
Convert this file to a swap file by running the following command.
$ sudo mkswap /swapfile1 Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes) no label, UUID=96def6d7-b2da-4954-aa72-aa32316ec993
Enable the swap file by running the following command.
$ sudo swapon /swapfile1
Add the newly created swap file to the fstab file so that changes to the swap partition space can take effect even after restarting.
$ vi /etc/fstab /swapfile1 swap swap defaults 0 0
Check the newly created swap file.
$ swapon --show NAME TYPE SIZE USED PRIO /dev/sda5 partition 2G 1.3G -1 /swapfile file 1024M 0B -2 /swapfile1 file 1024M 0B -3
Now I can see a new 1GB /swapfile1. Restart the system for the new swap file to take effect.
Method 3: Create swap file through hard disk partitionWe also recommend using hard disk partitioning to create a swap partition.
If you have created a new partition on your other hard disk through the fdisk command, assume that we have created a partition called /dev/sda4.
Use the mkswap command to convert this partition to a swap partition.
$ sudo mkswap /dev/sda4
Enable the swap file by running the following command.
$ sudo swapon /dev/sda4
Add the new swap file to the fstab file, so that the modification of the swap partition will take effect even if the system is restarted.
$ vi /etc/fstab /dev/sda4 swap swap defaults 0 0
Check the newly created swap file.
$ swapon --show NAME TYPE SIZE USED PRIO /dev/sda5 partition 2G 1.3G -1 /swapfile file 1024M 0B -2 /swapfile1 file 1024M 0B -3 /dev/sda4 partition 1G 0B -4
I can see the new swap partition 1GB /dev/sda4. Restart the system to use the new swap partition.
The above is the detailed content of Simple Operation: Using Swap Partition in Linux. For more information, please follow other related articles on the PHP Chinese website!