阿里云云主機swap功能設定實戰案例

2022-04-02 02:12:10 字數 2418 閱讀 9015

阿里云云主機swap功能設定實戰案例

阿里雲提供的雲伺服器(elastic compute service,簡稱 ecs),是雲主機的一種,當前採用的虛擬化驅動是xen(這一點可以通過bios vendor和virtual type可以看出)。

預設情況下,阿里云云主機的swap功能是沒有啟用的,原因當然是通過取消swap功能可以降低磁碟io的佔用率來讓使用者購買更多的記憶體、提高磁碟壽命和效能。

交換空間通常是乙個磁碟分割槽(此分割槽在安裝作業系統時,系統通常會預設劃分出一段空間用於交換分割槽,預設將交換空間的大小設定為記憶體的1倍到2倍),也可以是乙個檔案。

阿里當前的做法是:

1.不建立swap分割槽,由映象決定

啟用swap分割槽,確實可以降低記憶體的使用壓力,但並不是長久之計,如果雲主機上執行的應用確實需要較高的記憶體,建議還是購買更多的記憶體。

如何啟用swap分割槽?

步驟如下:

1.檢視當前系統中是否已經啟用swap分割槽(有三種命令)

# top

# free -m

# cat /proc/swaps

filename type size used priority

2.如果沒有啟用swap分割槽功能,則新建乙個專門的檔案用於swap分割槽,建立時間比較長需要耐心等待。

不能使用/data/swap,會報錯

# dd if=/dev/zero of=/data/swap bs=1g count=4

dd: opening `/data/swap': no such file or directory

# dd if=/dev/zero of=/mnt/swap bs=1g count=4

注:此檔案的大小是count的大小乘以bs大小,上面命令的大小是4gb

[root@izwz96l7gxttha3j1hk494z ~]# dd if=/dev/zero of=/mnt/swap bs=1g count=4

4+0 records in

4+0 records out

4294967296 bytes (4.3 gb) copied, 71.8305 s, 59.8 mb/s

3.設定交換分割槽檔案:通過mkswap命令將上面新建出的檔案做成swap分割槽

# mkswap /mnt/swap

5.啟用此交換分割槽的交換功能

#swapon /mnt/swap

注:如果在 /etc/rc.local 中有 swapoff -a 需要修改為 swapon -a

# cat /etc/rc.local 檢視是否存在

6.設定開機時自啟用 swap 分割槽:

需要修改檔案 /etc/fstab 中的 swap 行,新增

/mnt/swap swap swap defaults 0 0

# echo "/mnt/swap swap swap defaults 0 0" >> /etc/fstab

注:/mnt/swap 路徑可以修改,可以根據建立的 swap 檔案具體路徑來配置。

7.再次用命令檢視是否設定成功

# cat /proc/swaps

filename type size used priority

/mnt/swap file 4194300 0 -1

# free -m

total used free shared buffers cached

mem: 3832 2711 1120 0 124 1826

-/+ buffers/cache: 760 3072

swap: 4095 0 4095

如何關閉swap分割槽?

當系統出現記憶體不足時,開啟 swap 可能會因頻繁換頁操作,導致 io 效能下降。如果要關閉 swap,可以採用如下方法。

使用命令 swapoff 關閉 swap

swapoff /mnt/swap

修改 /etc/fstab 檔案,刪除或注釋相關配置,取消 swap 的自動掛載:

swapoff -a >/dev/null

通過 free -m 確認 swap 已經關閉。

阿里云云主機新增swap分割槽與swap效能優化

原始出處 作者資訊和本宣告。否則將追究法律責任。swap的功能與相應核心引數 linux 將物理記憶體分為記憶體段的部分被稱作 頁面 交換是指記憶體頁面被複製到預先設定好的硬碟空間 叫做交換空間 的過程,目的是釋放用於頁面的記憶體。物理記憶體和交換空間的總大小是可用的虛擬記憶體的總量。交換空間通常是...

阿里云云虛擬主機安裝Z BlogPHP

簡介 在阿里雲買了乙個雲虛擬主機,叫共享虛擬主機普惠版,6 塊錢一年。本著練習上手的目的,嘗試在阿里云云虛擬主機上安裝z blogphp,乙個個人建站的cms 系統。雲虛擬主機網頁空間為200m,mysql 空間為20m,支援php。應該還是錯的。第一步 測試訪問雲主機 1.是雲主機的乙個測試頁面。...

設定阿里雲ECS的swap

安裝 gitlab 1 2 3 時碰到的問題。中間出現幾次記憶體分配的問題,其中新增 ssh key 導致 500 錯誤,我 1g 記憶體跑了apache nginx mysql,以為記憶體不夠用,確實不夠用。找了好多,提到減少 unicorn.rb 裡的 worker processes 節省記憶...