centos7 linux下增加swap虛擬內存分區大小


此方法不限於centos,linux均適用

最近在服務器上部署了一個java項目,java進程經常性莫名被自動Kill,首先java程序是沒有報錯的,那么我想可能是內存不足的原因,因為4G內存的服務上部署了gitlib,mysql,redis這些服務

 

1.先查看一下自己的服務器swap大小,命令:free -h

可以看到swap大小只有511M

2.使用 cd /user 進入/urs文件夾,新建一個名叫swap的文件夾,使用ll命令可以看到多了一個swap的文件夾

3.下一步使用 cd /swap 進入swap文件夾,創建swap文件

創建swap文件命令:dd if=/dev/zero of=swapfile bs=100M count=50

這條命令從硬盤里分出一個100M ×50 = 5G 大小的空間,掛在swapfile上

注意:這里我們bs(buff size)給的100M, bs大小可以根據free -h命令查看的buff/cache的大小來決定,如果給大了可能會報dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB) 

稍等一會swap文件創建完成之后使用命令:ll -h 查看 

 

4.swapfile文件創建后,需要構建swap格式於/usr/swap/swapfile 上

命令為:mkswap /usr/swap/swapfile

5.用命令激活swap,立即啟用交換分區文件

命令為:swapon /usr/swap/swapfile

但是這樣的設置重啟后就失效了,為了保證每次啟動都能啟用該交換空間,需要手動編輯文件/etc/fstab中的swap行

命令為:vim /etc/fstab

將/swap none swap sw 0 0 這行注釋掉

新增一行 /usr/swap/swapfile swap swap defaults 0 0

結語:對swap進行了擴容之后,目測java程序已經運行了一個星期沒掛了,看來對swap進行擴容還是很有必要的!!!


免責聲明!

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



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