在嵌入式系统中使用Debian Swapper(交换空间)可按以下步骤操作,核心是通过文件或分区实现内存扩展,具体方法如下:
文件式交换(推荐,无需额外分区)
使用fallocate创建交换文件(如1GB):
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile # 设置权限
sudo mkswap /swapfile # 格式化为交换空间
sudo swapon /swapfile # 启用交换文件
验证是否生效:sudo swapon --show 或 free -h。
分区式交换(需磁盘分区)
fdisk创建新分区(类型设为82,Linux swap):sudo fdisk /dev/sda # 假设磁盘为/dev/sda
# 操作:n(新建分区)→ p(主分区)→ 输入大小 → w(保存)
sudo mkswap /dev/sdaX # 替换为实际分区名(如/dev/sda3)
sudo swapon /dev/sdaX
将交换配置写入/etc/fstab:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 文件式
# 或
echo '/dev/sdaX none swap sw 0 0' | sudo tee -a /etc/fstab # 分区式
调整Swappiness值
控制内核使用交换空间的频率(范围0-100,默认60,值越低越少使用交换):
sudo sysctl vm.swappiness=10 # 临时修改
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久修改
使用SSD提升速度
若嵌入式设备支持SSD,可将交换文件或分区置于SSD,显著提高换页效率。
查看使用情况:
free -h # 查看内存和交换空间占用
top # 实时监控进程内存使用
关闭交换空间(如需释放磁盘)
sudo swapoff -a # 临时关闭
sudo rm /swapfile # 删除交换文件(需先从/etc/fstab移除)