Skip to content

Instantly share code, notes, and snippets.

@jsqwang
Last active August 29, 2015 14:23
Show Gist options
  • Save jsqwang/43237573cd80b1544417 to your computer and use it in GitHub Desktop.
Save jsqwang/43237573cd80b1544417 to your computer and use it in GitHub Desktop.
#If you want to learn how to create the file faster, remove the file and follow along below:
sudo rm /swapfile
#The Faster Way
#The quicker way of getting the same file is by using the fallocate program. This command creates a file of a preallocated size #instantly, without actually having to write dummy contents.
#We can create a 4 Gigabyte file by typing:
sudo fallocate -l 4G /swapfile
#The prompt will be returned to you almost immediately. We can verify that the correct amount of space was reserved by typing:
ls -lh /swapfile
# -rw-r--r-- 1 root root 4.0G Apr 28 17:19 /swapfile
# As you can see, our file is created with the correct amount of space set aside.
# Enabling the Swap File
# Right now, our file is created, but our system does not know that this is supposed to be used for swap. We need to tell our #system to format this file as swap and then enable it.
# Before we do that though, we need to adjust the permissions on our file so that it isn't readable by anyone besides root. #Allowing other users to read or write to this file would be a huge security risk. We can lock down the permissions by typing:
sudo chmod 600 /swapfile
#Verify that the file has the correct permissions by typing:
ls -lh /swapfile
#-rw------- 1 root root 4.0G Apr 28 17:19 /swapfile
#As you can see, only the columns for the root user have the read and write flags enabled.
#Now that our file is more secure, we can tell our system to set up the swap space by typing:
sudo mkswap /swapfile
#Setting up swapspace version 1, size = 4194300 KiB
#no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944
#Our file is now ready to be used as a swap space. We can enable this by typing:
sudo swapon /swapfile
#We can verify that the procedure was successful by checking whether our system reports swap space now:
sudo swapon -s
# Filename Type Size Used Priority
# /swapfile file 4194300 0 -1
#We have a new swap file here. We can use the free utility again to corroborate our findings:
free -m
# total used free shared buffers cached
# Mem: 3953 101 3851 0 5 30
# -/+ buffers/cache: 66 3887
# Swap: 4095 0 4095
#Our swap has been set up successfully and our operating system will begin to use it as necessary.
#Make the Swap File Permanent
#We have our swap file enabled, but when we reboot, the server will not automatically enable the file. We can change that though #by modifying the fstab file.
#Edit the file with root privileges in your text editor:
sudo nano /etc/fstab
# At the bottom of the file, you need to add a line that will tell the operating system to automatically use the file you created:
/swapfile none swap sw 0 0
# Save and close the file press Control + X, then Y to "YES", then ENTER when you are finished.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment