騰訊雲CentOS7.4服務器添加swap分區


自己的騰訊雲服務器搭建的zabbix監控中,提示Lack of free swap space

騰訊的官方說明在這:

https://cloud.tencent.com/document/product/362/3597

查看機器上面狀態如下:

 

Linux下可以創建兩種類型的交換空間,一種是swap分區,一種是swap文件。前者適合有空閑的分區可以使用,后者適合於沒有空的硬盤分區,硬盤的空間都已經分配完畢,這里我們只能采用后者。

服務器的物理內存是2G的,按照1~2倍原則,我將swap文件設置為4GB。

新建的4G swap路徑:/mnt/swap(路徑和交換文件名稱可以自定義)

步驟如下:

1、創建用於交換分區的文件:dd if=/dev/zero of=/mnt/swap bs=4096 count=1024000(這條命令運行完后稍等一會)

2、設置交換分區文件:mkswap /mnt/swap

3、啟用交換分區文件:swapon /mnt/swap

注:dd創建的文件總大小等於bs * count。本例是4096k * 1024000=4G。
注釋:
dd:可以創建指定大小(4G)的文件
if:指定輸入設備
/dev/zero:無限0資源
of:指定輸出設備
bs:每個塊的大小
count:塊的數量

 

=========以下操作能確保 swap 更安全,且重啟后有效===========

查看 vim /etc/rc.local 如果有 swapoff -a 修改為 swapon -a,我這里是沒有這個的,就不管了。

vim /etc/rc.local

設置自動掛載,打開文件:vim /etc/fstab

把下面命令添加到最下面的空行。

/mnt/swap swap swap defaults 0

查看狀態

swapon -s

查看內存狀態

free -m

當不需要交換文件時,可以使用以下步驟將其刪除:

禁用交換文件:swapoff /mnt/swap

刪除交換文件:rm -f /mnt/swap

編輯vim /etc/fstab文件,刪除以下內容,在系統下次引導時就不會啟用交換文件了。

/mnt/swap swap swap defaults 0

 

權限設置:

chown root:root /mnt/swap

chmod 0600 /mnt/swap

 

查看 swappiness 值。

cat /proc/sys/vm/swappiness

如果為 0 ,則將其改為 10,意思是空閑內存少於 10% 時才使用 SWAP 分區

sysctl vm.swappiness=10

永久設置 swappiness,如果該文件里沒有,則打開 vim /etc/sysctl.conf 配置文件追加 vm.swappiness = 10

 

重啟,那些永久設置項就生效了。

swappiness=0 的時候表示最大限度使用物理內存,然后才是 swap 空間,swappiness=100 的時候表示積極的使用 swap 分區,並且把內存上的數據及時的搬運到 swap 空間里面。

 

參考文章:

https://help.aliyun.com/knowledge_detail/42534.html

https://cloud.tencent.com/developer/article/1141273


免責聲明!

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



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