1. 增加交换卷

1.我们也可以添加LVM卷作为交换空间。
为此,我们需要在任何一个现有卷组中创建一个卷。

# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  vg_onitroad   1   1   0 wz--n- 19.51g 1.94g
# lvcreate -L 1G -n lv_swap vg_onitroad
  Logical volume "lv_swap" created
# ll /dev/mapper/vg_onitroad-lv_swap
lrwxrwxrwx. 1 root root 7 Oct 22 19:36 /dev/mapper/vg_onitroad-lv_swap -> ../dm-1
  1. 对卷运行 mkswap 命令,并可选择使用 -L 选项标记它。
mkswap -L swap /dev/mapper/vg_onitroad-lv_swap
mkswap: /dev/mapper/vg_onitroad-lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap, UUID=6d228d34-b67e-4e38-82d4-f068c7bc097e
  1. 要使交换条目在重新启动后保持不变,请在 /etc/fstab 文件中创建一个条目。
# vi /etc/fstab
/dev/mapper/vg_onitroad-lv_swap	swap                    swap    defaults        0 0
  1. 最后,使用 swapon 命令启用交换,该命令依次读取 /etc/fstab 文件中的交换条目。
# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/dm-1               partition	1048568	 0	    -1

删除交换空间

如果我们想删除添加的交换,我们可以使用 swapoff 命令来完成。
确保在禁用交换后从 /etc/fstab 文件中删除相应的交换条目。

# swapoff -a    ### this will remove all swap(s) mentioned in .etc.fstab
# swapoff /dev/sdb1    ### to remove individual swap

1. 添加交换分区

  1. 运行 fdisk 或者 parted 实用程序以识别具有足够未使用(未分区)磁盘空间的磁盘。
    创建一个类型为 swap (82) 的新分区。
    例如:
# fdisk /dev/sdb
.....
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G

确保将分区类型修改为 82(Linux swap/Solaris)并在最后保存分区表。

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): w
The partition table has been altered!
  1. 对之前使用 fdisk/parted 创建的设备/分区运行命令 mkswap。
    可选 -L 可用于在交换分区上设置 LABEL。
# mkswap -L swap1 /dev/sdb1
Setting up swapspace version 1, size = 1060252 KiB
LABEL=swap1, UUID=f0a884c9-59b3-47d2-9f06-5884f6a33806
  1. 修改 /etc/fstab 文件以在启动时挂载新的交换设备。
vi /etc/fstab
/dev/sdb1               swap                    swap    defaults        0 0
  1. 运行 swapon 命令以启用 /etc/fstab 文件中列出的所有交换设备,并使用“swap -s”验证添加的交换。
# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/sdb1               partition	1060248	 0	    -1
如何在Linux中添加交换空间

除了 内存 之外,还有一个所谓的 Swap,它是一种虚拟内存,如果没有足够的可用 内存,可以其中交换 内存 内容(页面)。
此交换位于磁盘上,并且由于磁盘读取和写入比从 内存 读取慢,因此访问那里的内存页面会导致延迟。
除了文件系统的创建,Linux 管理员还必须密切关注交换的使用和需求。
这篇文章描述了 3 种向 Linux 系统添加交换空间的方法:

  1. 添加swap分区
  2. 增加交换卷
  3. 添加交换文件

如何检查交换使用情况

要检查交换使用情况,我们可以使用以下任一实用程序:

  1. free命令
# free
             total       used       free     shared    buffers     cached
Mem:       1004608     934036      70572          0      30124     769640
-/+ buffers/cache:     134272     870336
Swap:      1060248          0    1060248
  1. /proc/meminfo文件
# grep Swap /proc/meminfo
SwapCached:            0 kB
SwapTotal:       1060248 kB
SwapFree:        1060248 kB
  1. top命令
# top
.......
Mem:   1004608k total,   934780k used,    69828k free,    30124k buffers
Swap:  1060248k total,        0k used,  1060248k free,   770156k cached
.......
  1. vmstat命令
# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0  69828  30124 770156    0    0    40   403   23   22  0  1 99  0  0
on it road .com

3. 添加交换文件

  1. 如果磁盘上没有可用空间来创建新分区,我们也可以使用文件作为交换。
    为此,请使用 dd 命令创建所需大小的文件。
# dd if=/dev/zero of=/root/swapfile01 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.73334 s, 159 MB/s
  1. 我在/root 目录中创建了交换文件,以使其更安全,因为普通用户无法进入该目录。
    为了更安全,对文件应用适当的权限。
# chmod 600 /root/swapfile01
  1. 运行 mkswap 命令将文件转换为交换文件。
# mkswap -L swap01 /root/swapfile01
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap01, UUID=ba5f7163-43f6-4001-84c1-2fca3935301f
  1. 修改/etc/fstab 文件以添加新的交换文件。
# vi /etc/fstab
/root/swapfile01        swap                    swap    defaults        0 0
  1. 运行 swapon 命令以启用 /etc/fstab 文件中列出的所有交换设备。
# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/swap/swapfile01                        file		1048568	0	-1
日期:2020-09-17 00:13:07 来源:oir作者:oir