在Linux系统中,虚拟内存(Virtual Memory)是通过以下核心机制和技术实现的:
/dev/sda2
),通过mkswap
和swapon
启用。/swapfile
),灵活性更高。swapon --show
、free -h
查看交换空间使用情况。/proc/sys/vm/min_free_kbytes
)。/proc/<pid>/oom_score
评分)。/sys/kernel/mm/transparent_hugepage/enabled
。0
:严格检查(禁止超额申请)。1
(默认):允许适度超额,依赖后续实际使用。2
:无限制超额(风险高)。/proc/sys/vm/overcommit_memory
。# 查看内存和交换空间使用
free -h
swapon --show
# 创建并启用Swap文件(示例1GB)
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# 查看页表统计
cat /proc/meminfo | grep -i "hugepages\|swap"
# 调整Swappiness(降低交换倾向,默认60)
echo 10 | sudo tee /proc/sys/vm/swappiness
vmstat 1
、sar -B
观察页面交换频率。通过以上机制,Linux实现了灵活高效的虚拟内存管理,平衡了性能与资源利用率。