linux的交换分区相当于windows下的虚拟内存一样,都是在硬盘上开辟一片空间,当作内存使用,提高系统效率。
Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
一、查看swap分区
1、因为swap当作内存使用,所以使用 free命令。
Linux free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
free -m 以MB为单位显示内存使用情况。可以查看系统的内存情况和交换分区 swap 的情况。
2、也可使用专门用来管理交换分区的命令 swapon 来查看。
Linux swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。
swapon -s 显示简短的装置讯息.。该命令相当于 cat /proc/swaps .
二、启用和关闭某一个交换分区
1、启用交换分区:swapon /dev/sda* ; /dev/sda*为交换分区的挂载点。使用fdisk -l 可以查看现有的swap分区。使用swapon -s 查看现在启用的swap分区。
2、关闭交换分区:swapoff /dev/sda*;
开启和关闭交换分区除了根据设备名称之外还可以根据 UUID LABLE FILE 等可以唯一确定位置的一些其他方法 开启或者关闭。
三、创建交换分区或交换文件
3..1、创建新的交换分区
3.1.1、使用fdisk 命令来创建一个交换分区(假如是 /dev/sda5)
3.1.2、使用 mkswap 命令来设置交换分区。(mk开头的一般都是新建什么什么 例如 mkdir 新建文件夹 ; mktemp 建立暂存文件) mkswap /dev/sda5
3.1.3、写入/etc/fstab,配置文件中以便在引导时启用。 打开fstab文件 添加一行 /dev/sda5 swap swap defaults 0 0
3.2、创建一个交换文件
因为linux下一切都是文件,所以,也可以创建一个交换文件。来做交换分区。
3.2.1、创建一个大小为512M的交换文件: dd if=/dev/zero of=/swapfilename bs=1024K count=512
3.2.2、可以配置一下文件的权限来提升系统安全性:chmod 600 /swapfilename
3.2.3、使用mkswap命令来设置交换文件: mkswap /swapfilename
3.2.4、写入fstab 开机启用: /swapfilename swap swap defaults 0 0
四、删除交换分区或文件
1、禁用交换分区: swapoff /dev/sda5
2、从开机挂载文件fstab中删除该项
3、使用 fdisk 命令删除分区,或者 直接删除 交换文件 rm -f /swapfilename。