Debian 系统设置虚拟内存(Swap)完全指南

Debian 系统设置虚拟内存(Swap)完全指南

在资源有限的 Debian 服务器上,合理配置虚拟内存(Swap)可显著提升系统稳定性。本文详细介绍如何设置和优化虚拟内存。

什么是虚拟内存(Swap)?

虚拟内存是操作系统使用硬盘空间扩展物理内存的机制。当物理内存不足时,系统将不常用的内存页面临时存储到虚拟内存中。

创建交换文件(推荐方法)

# 1. 创建一个交换文件(1GB大小)
sudo fallocate -l 1G /swapfile
# 如果 fallocate 命令不可用,可以使用 dd 命令:
# sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

# 2. 设置安全权限
sudo chmod 600 /swapfile

# 3. 将文件格式化为交换空间
sudo mkswap /swapfile

# 4. 启用交换文件
sudo swapon /swapfile

# 5. 验证交换空间是否已启用
sudo swapon --show
free -h

# 6. 设置开机自动启用(编辑 /etc/fstab 文件)
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

优化交换空间使用

调整 Swappiness 参数

# 查看当前设置
cat /proc/sys/vm/swappiness

# 临时修改(值越低越不倾向使用交换空间)
sudo sysctl vm.swappiness=10

# 永久修改
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

推荐的 Swappiness 值

  • 服务器环境:10-20
  • 桌面环境:30-60
  • 内存极小的系统:60-100

交换空间大小建议

系统内存推荐交换空间大小
< 1GB内存的 2 倍
1-2GB等同于内存大小
2-8GB内存的一半到等同大小
> 8GB至少 4GB

对于 557MB 内存服务器,建议设置 1GB 到 1.5GB 的交换空间。

监控交换空间使用情况

# 查看交换空间使用情况
free -h

# 详细查看交换统计信息
vmstat 1 5

# 查看哪些进程在使用交换空间
for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | head -10
评论区
头像
文章目录