在亞馬遜的EC2環境中建立swap

建立swap分區很簡單,首先得建立一個文件,而後將這個文件設置爲交換分區,最後給系統使用這個交換分區。vim

網絡上不少文章所使用的命令,會在設置交換分區的時候出現錯誤,這是由於建立文件的時候使用了錯誤的方式。centos

# 建立文件
[root@VM_171_54_centos ~]# fallocate -l 4G /swapfile
 
# 檢查文件信息
[root@VM_171_54_centos ~]# ll -h /swapfile 
-rw-r--r-- 1 root root 4.0G Jan 30 23:05 /swapfile
 
# 修改文件權限
[root@VM_171_54_centos ~]# chmod 600 /swapfile
 
# 再次檢查文件信息
[root@VM_171_54_centos ~]# ll -h /swapfile 
-rw------- 1 root root 4.0G Jan 30 23:05 /swapfile
 
# 將文件設置爲交換分區
[root@VM_171_54_centos ~]# swapon /swapfile
swapon: /swapfile: read swap header failed: Invalid argument

從上面能夠看出,在設置交換分區的時候,系統拋出了錯誤信息。網絡

 

問題其實很簡單,設置交換分區所使用的命令swapon須要使用物理分配的文件空間,但建立交換文件時使用的fallocate倒是使用ioctls來快速劃分一塊區域,由於不是物理分配的空間,因此在設置交換分區的時候會出現錯誤。post

 

此時咱們能夠使用dd命令建立一個文件:spa

相關文章
相關標籤/搜索