Swap(交換空間)是Linux系統的重要內存管理機制,核心作用包括:防止OOM(內存耗盡崩潰)、平滑處理內存峰值、支持系統休眠。但需注意其負面影響:訪問速度遠慢于物理內存(HDD延遲約1-10ms,SSD約0.1-1ms)、頻繁寫入會增加磁盤磨損(尤其是HDD)、占用寶貴磁盤空間。
Swap大小需結合物理內存容量和系統用途調整,避免過大或過?。?/p>
# 創建10GB交換文件(使用fallocate,速度快;若不可用則用dd)
sudo fallocate -l 10G /swapfile
# 或用dd命令(速度慢,但兼容性好)
# sudo dd if=/dev/zero of=/swapfile bs=1G count=10
# 設置嚴格的權限(僅root可讀寫)
sudo chmod 600 /swapfile
# 格式化為交換空間
sudo mkswap /swapfile
# 激活交換空間
sudo swapon /swapfile
# 驗證是否激活
swapon --show # 查看當前激活的Swap
free -h # 查看內存與Swap使用情況
# 使用fdisk/gparted創建分區(如/dev/sdaX)
sudo fdisk /dev/sda # 按提示創建分區(類型選"82 Linux swap")
# 格式化分區為Swap
sudo mkswap /dev/sdaX
# 激活分區
sudo swapon /dev/sdaX
編輯/etc/fstab文件,添加對應行:
/swapfile none swap sw 0 0/dev/sdaX none swap sw 0 0sudo swapon -a即可生效。swappiness參數(范圍0-100)控制內核使用Swap的傾向:
sudo sysctl vm.swappiness=10
/etc/sysctl.conf,添加或修改:vm.swappiness=10
執行sudo sysctl -p使更改生效。定期監控Swap狀態,及時發現異常:
free -h # 顯示內存與Swap的總量、已用、空閑
swapon --show # 顯示激活的Swap文件/分區及大小
cat /proc/swaps # 查看Swap的詳細信息(如優先級)
top或htop命令(按Shift+M排序內存使用,觀察Swap列)。fstrim定期維護);