Swap 分区配置与内存管理 Print

  • 34

Swap(交换分区)是硬盘上的一块空间,在物理内存不足时作为虚拟内存使用。

查看当前 Swap

swapon --show
free -h

创建 Swap 文件

# 创建 2GB Swap 文件
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

持久化配置

/etc/fstab 末尾添加:

/swapfile none swap sw 0 0

调整 swappiness

swappiness 控制内核使用 Swap 的倾向(0-100,默认 60):

# 临时调整
sudo sysctl vm.swappiness=10

# 永久调整
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

数值越低,系统越倾向使用物理内存;服务器建议设为 10-30。

内存使用分析

# 内存概览
free -h

# 实时监控
vmstat 1
top -o %MEM

# 按内存排序进程
ps aux --sort=-%mem | head -10

OOM Killer

当系统内存完全耗尽时,OOM Killer 会强制终止进程释放内存。可以通过设置进程的 OOM 评分来保护重要进程:

# 查看进程 OOM 评分
cat /proc/1234/oom_score

# 降低被 kill 的概率(-1000 到 1000)
echo -500 > /proc/1234/oom_score_adj

Was this answer helpful?

« Back