banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[Linux]建立並啟用Swap交換區

如果你的伺服器經常報告記憶體不足,並且因記憶體不足而導致服務被強制終止,而在不增加實體記憶體的情況下,啟用 swap 交換區作為虛擬記憶體是一個不錯的選擇。我購買的 DigitalOcean VPS 只有 512M 的記憶體,基本上不夠用,好在 VPS 的主機使用的是 SSD,正常的讀寫速度都在 300MB/s 以上,啟用 swap 後性能提高了不少,特別是在處理消耗大記憶體的腳本方面。

創建交換區的原則:

  1. 創建的 swap 交換區大小應該大於實際物理記憶體的容量大小,但不要過大,以免造成硬碟空間浪費。
  2. 如果記憶體 IO 請求頻繁,而單一 swap 交換區 IO 隊列等待時間過長的話,可以多創建幾個 swap 交換區。
  3. 原則上優先在 IO 速度最快的設備上創建。

創建步驟:

  1. 創建 swap 交換區硬碟存儲用的空白文件。

#創建一個 1 個 G 的 SWAP 交換區空白文件
dd if=/dev/zero of=/swap bs=1M count=1024

通常創建物理記憶體 2~2.5 倍大小的文件作為交換區。

  1. 使用 mkswap 格式化文件為 swap 文件系統

mkswap -f /swap
#-f 使用文件作為 swap 交換區

  1. 啟用剛剛創建的 Swap 文件

swapon /swap

  1. 如果有必要可以設定開機自動啟用 swap 文件交換區,修改 /etc/fstab,增加一行

/swap swap swap defaults 0 0 #啟動即啟用 swap

  1. 如果不需要啟用 swap 或需要調整 swap 大小,可以使用 swapoff 命令關閉 swap。

swapoff /swap

關閉 swap 後刪除對應的 swap 文件即可刪除 swap 交換區,如需要調整 swap 交換區大小,從第一步開始重新創建即可。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。