CentOS 7 在VM里修改SWAP遇到swapon failed invalid argument


本人之前安裝CentOS 7學習Oracle的時候,發現初始安裝配置的swap小了(因為懶,全部選擇的默認安裝 T。T),為了不浪費時間重裝一次,就去找了下如何修改swap配置。

根據度娘出來的帖子內容,fallocate 創建新swap文件之后,mkswap 也很正常,然而,swapon 出現了問題

[root@oracle ~]# swapon /swapfile
swapon: /swapfile: swapon failed: Invalid argument

這個錯誤是fallocate造成的,如果使用dd 來創建新swap文件,mkswap之后就沒有這個問題

[root@oracle ~]# dd if=/dev/zero of=/swapfile bs=1024 count=4194304
[root@oracle ~]# mkswap /swapfile
[root@oracle ~]# swapon /swapfile
[root@oracle ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3933        1524         124          48        2285        2038
Swap:          8191          16        8175

在GitHub上找到了關於這個問題的一個帖子,其中,作為fallocate的contributor,Andrew Gross也參與了討論。https://github.com/sous-chefs/swap/issues/5

這是fallocate對於xfs支持的問題,根據Andrew Gross自己的測試,fallocate對於ext4各版本的支持都沒什么問題,但是對於老版本xfs的支持則不那么好了。

然而在原帖里可以發現,實際上現在對於高版本的xfs也已經支持不那么好了,我的xfs版本如下。

[root@oracle ~]# yum list installed | grep xfs
xfsdump.x86_64                          3.1.7-1.el7                    @anaconda
xfsprogs.x86_64                         4.5.0-15.el7                   @anaconda

總結:

綜上所述,遇到這種問題的時候,用dd吧,雖然時間是比fallocate要長一點。最好的解決辦法,就是在安裝和部署任何應用之前,還是把sizing提前做好吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM