在只有1GB記憶體的伺服器上使用Swap來運行npm install
在只有1GB記憶體的伺服器上運行npm install可能會因為RAM有限而面臨挑戰。但是,通過啟用swap空間,您可以擴展虛擬記憶體並確保操作順暢。這篇文章將引導您如何在伺服器上創建和啟用swap分區。
Swap是什麼?
Swap空間是硬盤上指定的區域,用於暫時保存不活躍的記憶體頁面。它作為物理記憶體(RAM)的虛擬擴展,使系統能更有效地管理記憶體。當系統用盡物理記憶體時,它會將不活躍的頁面移動到Swap空間,為活躍進程釋放RAM。雖然Swap比物理記憶體慢,但可以防止記憶體不足的錯誤並提高系統穩定性。
啟用Swap空間的步驟指南
-
查看現有Swap資訊
在創建Swap空間之前,先檢查是否已有配置Swap:
sudo swapon --show
-
檢查磁盤分區可用性
確保您有足夠的磁盤空間來放置Swap檔案。使用
df
指令:df -h
-
創建Swap檔案
使用
fallocate
程式在根目錄中配置1GB的Swap檔案:sudo fallocate -l 1G /swapfile
-
啟用Swap檔案
透過設置適當的權限來確保Swap檔案的安全性:
sudo chmod 600 /swapfile
將檔案格式化為Swap空間:
sudo mkswap /swapfile
啟用Swap檔案:
sudo swapon /swapfile
-
將Swap檔案設置為永久
為了確保伺服器重啟後繼續使用Swap檔案,請將其添加到
/etc/fstab
檔案中:sudo cp /etc/fstab /etc/fstab.bak
編輯
/etc/fstab
以包含 Swap檔案:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
-
優化Swap設定
調整
swappiness
值以控制系統使用Swap空間的頻率。較低的值可減少Swap的使用,提高性能。查看當前的值:cat /proc/sys/vm/swappiness
將
swappiness
設為 15:sudo sysctl vm.swappiness=15
透過將其添加到
/etc/sysctl.conf
中,使此變更永久:echo 'vm.swappiness=15' | sudo tee -a /etc/sysctl.conf
調整
vfs_cache_pressure
值以平衡快取保留與使用Swap的平衡。查看當前的值:cat /proc/sys/vm/vfs_cache_pressure
將其設定為60:
sudo sysctl vm.vfs_cache_pressure=60
使此變更永久:
echo 'vm.vfs_cache_pressure=60' | sudo tee -a /etc/sysctl.conf
總結
創建和啟用Swap空間可以讓您的伺服器更有效地處理記憶體密集型操作,比如說 npm install
。雖然Swap不能替代物理RAM,但它可以為記憶體限制提供臨時解決方案,確保更順暢的性能並防止記憶體不足的錯誤。通過跟隨上述重述的步驟,您可以優化伺服器的記憶體管理並提高其整體穩定性。