linux怎么使用虚拟内存
linux怎么使用虚拟内存详细介绍
在 Linux 中,虚拟内存(Swap)用于扩展物理内存,当物理内存不足时,系统会将部分不活跃的内存数据转移到磁盘(Swap 分区或文件)。以下是使用虚拟内存的常见操作:
一、查看虚拟内存状态
- 实时使用情况
bash输出示例:
plaintexttotal used free shared buff/cache availableMem: 15G 8.0G 1.5G 128M 6.0G 6.5G
Swap: 16G 2.0G 14G # Swap 已用 2G,剩余 14G
- Swap 详细信息
bash输出示例:
plaintextFilename Type Size Used Priority/dev/nvme0n1p6 partition 16G 2048M -2
/var/swap/swapfile file 4G 0B -3
二、创建 Swap 文件(推荐)
若系统没有 Swap 或需要扩展,可通过文件创建(无需分区):
- 创建 Swap 文件(建议大小:物理内存 1-2 倍,不超过 32G)
bashfallocate 4G /var/swap/swapfile/var/swap/swapfile
- 格式化 Swap 文件
bash/var/swap/swapfile - 启用 Swap 文件
bash/var/swap/swapfile - 永久生效(开机自动挂载)
编辑/etc/fstab,添加一行:
bash/var/swap/swapfile none swap sw
三、调整 Swap 优先级(swappiness)
swappiness(0-100)控制内存与 Swap 的交换倾向:
- 0:尽量使用物理内存,少用 Swap(适合 SSD)。
- 60(默认):平衡策略。
- 100:积极使用 Swap(适合物理内存极少的场景)。
- 临时修改(重启失效)
bash - 永久修改
编辑/etc/sysctl.conf,添加:
bashvm.swappiness保存后执行
sudo sysctl -p生效。
四、禁用 Swap(谨慎操作)
bash
swapoff /dev/sda3swapoff /var/swap/swapfile
(禁用后需删除 /etc/fstab 中的对应挂载记录)
注意事项
- 性能影响:Swap 速度远慢于物理内存,频繁读写会降低系统性能(尤其机械硬盘)。
- 大小建议:
- 物理内存 ≤ 2G:Swap = 2× 内存。
- 物理内存 2G-8G:Swap = 等于内存。
- 物理内存 ≥ 16G:可不设 Swap(或保留 2-4G 应对内核崩溃转储)。
- 生产环境:优先扩展物理内存,Swap 仅作为临时解决方案。
通过以上操作,可灵活管理 Linux 的虚拟内存,平衡内存使用与性能。