交换实用程序

mkswap 命令用于初始化交换分区或者交换文件。
语法是:

# mkswap {device|file}

swapon 和 swapoff 实用程序分别启用和禁用用于交换的设备和文件。
要显示当前交换信息,请使用“swapon –s”命令。
输出与查看 /proc/swaps 的内容相同。

# swapon -s
Filename				                Type		  Size	    Used	Priority
/dev/dm-1                              	partition	  2097148	88296	-1
Linux 交换空间管理
https://onitroad.com 更多教程

添加交换空间

交换分区或者交换文件在初始化之前必须存在。
使用 fdisk 或者 parted 创建交换分区。
交换文件是使用 dd 命令创建的。
例子:

# dd if=/dev/zero of=/swapfile bs=1024 count=1000000

要初始化交换分区,执行:

# mkswap /dev/xvdd1

要初始化交换文件,执行:

# mkswap /swapfile

使用 swapon 命令启用初始化交换空间。
要在交换文件上启用交换,请输入:

# swapon /swapfile

要在交换分区上启用交换,请输入:

# swapon /dev/xvda3

更新 /etc/fstab 文件以在启动时启用交换分区或者交换文件:

# vi /etc/fstab
UUID=...     swap   swap   defaults   0   0
/swapfile    swap   swap   defaults   0   0

什么是交换空间(swap space)

当系统上没有足够的物理内存 (内存) 来存储当前正在处理的数据时,Linux 中会使用交换空间。
当系统需要更多内存时,不活动的内存页面会写入磁盘,从而释放物理内存。
不应将增加交换空间视为内存短缺的解决方案。
交换空间位于磁盘驱动器上,其访问时间比物理内存慢。
如果系统经常交换,我们应该添加更多的物理内存,而不是更多的交换空间。

Linux 中的交换空间或者是文件系统中的一个普通文件,称为交换文件,或者是一个单独的分区,或者是交换分区和交换文件的组合。
专用交换分区要快得多,但更容易更改交换文件的大小。
如果我们知道需要多少交换空间,请使用交换分区。
如果我们不确定,请先尝试交换文件,然后在知道要求后创建交换分区。

交换分区列在分区表中,在 /etc/fstab 中引用,并可在 /proc/swaps 文件中查看。
还有命令行实用程序可以显示有关交换空间的信息。
要查看分区表中的交换分区,请输入:

# fdisk -l | grep swap
Disk /dev/mapper/cl-swap: 2147 MB, 2147483648 bytes, 4194304 sectors

要查看 /etc/fstab 文件中的交换分区(或者文件),请输入:

# grep swap /etc/fstab 
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

要显示 /proc/swaps 文件的内容,请输入:

# cat /proc/swaps 
Filename				                Type		Size	  Used	   Priority
/dev/dm-1                               partition	2097148	  88296	   -1

查看交换空间的使用情况

查看 /proc/meminfo 文件,或者使用其他实用程序(例如 free、top 和 vmstat)来查看内存和交换空间使用情况。
例子:

# grep -i swap /proc/meminfo
SwapCached:         9472 kB
SwapTotal:       2097148 kB
SwapFree:        2008852 kB

要使用 free 命令查看交换使用情况,请输入:

# free | grep -i swap
Swap:       2097148       88296     2008852
日期:2020-09-17 00:14:58 来源:oir作者:oir