效果圖
報錯
通過對實例當前截屏的分析發現,實例因 Linux實例內存空間不足,導致操作系統出現內存溢出(OOM) 無法正常啟動。請您根據 Code:1684829582,在文檔中查詢該問題對應的修復方案,并通過VNC方式訪問實例進行修復。
解決辦法
在阿里云Ubuntu實例上永久增加Swap空間的完整步驟
在Ubuntu系統上永久增加Swap空間可以有效緩解內存不足問題,特別是對于內存較小的云服務器。以下是詳細的操作方法:
1. 檢查當前Swap狀態
首先查看系統現有的Swap配置:
sudo swapon --show
free -h
2. 創建Swap文件
2.1 創建Swap文件(推薦4GB大小)
# 創建Swap文件(這里以4G為例,可根據需要調整大小)
sudo fallocate -l 4G /swapfile# 如果fallocate不可用,可以使用dd命令
# sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
2.2 設置正確的權限
sudo chmod 600 /swapfile
2.3 格式化文件為Swap
sudo mkswap /swapfile
3. 啟用Swap文件
sudo swapon /swapfile
4. 永久生效設置
4.1 編輯fstab文件
sudo nano /etc/fstab
4.2 在文件末尾添加以下行
/swapfile none swap sw 0 0
按Ctrl+X
,然后按Y
保存并退出。
5. 優化Swap配置(可選但推薦)
5.1 調整swappiness值(控制內存使用到Swap的傾向)
# 查看當前值(默認通常是60)
cat /proc/sys/vm/swappiness# 設置為更合理的值(10-30之間)
sudo sysctl vm.swappiness=20# 永久生效
echo "vm.swappiness=20" | sudo tee -a /etc/sysctl.conf
5.2 調整緩存壓力設置
echo "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
6. 驗證Swap配置
sudo swapon --show
free -h
輸出應顯示新添加的Swap空間。
注意事項
Swap大小建議:
- 內存 < 2GB:Swap設為內存的2倍
- 內存 2-8GB:Swap等于內存大小
- 內存 > 8GB:Swap為4-8GB即可
性能考慮:
- Swap使用磁盤空間,速度比物理內存慢
- 過度依賴Swap會導致性能下降
- 長期解決方案應考慮升級實例內存
阿里云特定建議:
- 如果使用高效云盤或SSD云盤,Swap性能會更好
- 對于頻繁使用Swap的情況,建議升級實例規格
刪除舊Swap(如有需要):
sudo swapoff /old_swapfile sudo rm /old_swapfile # 記得從/etc/fstab中刪除相應行
通過以上步驟,您的阿里云Ubuntu實例將擁有永久有效的Swap空間,幫助緩解內存不足的情況。
ending...