CentOS7 的虚拟内存管理#
虚拟内存是计算机系统内存管理的一种技术,它为应用程序提供了一个连续完整的地址空间,使得应用程序认为它拥有连续可用的内存,但实际上,这部分内存可能被分割成多个物理内存碎片,甚至部分暂时存储在外部磁盘存储器上。
- 虚拟内存是一种过渡的技术(计算机硬件中内存和外存的存储容量差别过大)
- 依靠程序的局部性原理,暂时不运行的程序放在硬盘的一个存储空间,该存储空间称为虚拟内存
free
:查看内存(包含物理内存和虚拟内存)
Linux 下虚拟内存分类:
- 基于硬盘分区:例如添加一块 1GB 的硬盘,用作虚拟内存空间
- 基于文件:在已有的硬盘上申请一个文件
基于硬盘分区相关指令:
mkswap
(创建交换分区或文件)swapon
(加载交换分区或文件)swapoff
(卸载交换分区或文件)
基于文件相关指令:
dd if=/dev/zero of=/root/swapfile bs=1024 count=1024
# dd表示申请交换文件
# if是输入设备
# of是输出文件
# bs表示块数,每块是1KB
# count表示申请多少组块
mkswap /root/swapfile # 创建交换文件
swapon /root/swapfile # 加载交换文件
free -m # 查看内存