swap分区详解(创建swap分区,启用swap交换空间,关闭swap交换空间)

swap分区

什么是swap分区

swap分区是指在Linux操作系统中为了提高系统运行效率而设置的一块特殊的硬盘空间,也称为虚拟内存。当系统内存不足时,会将一部分不常用的内存数据存储到swap分区中,以释放内存空间,从而保证系统的稳定运行。swap分区的大小一般设置为物理内存大小的两倍,但也可以根据实际情况进行调整

swap分区使用情况查看工具

Linux系统中,swap分区的大小和使用情况可以通过命令行工具如swaponfree来查看和管理。

free

Linux free命令用于查看系统内存使用情况,包括物理内存和交换空间的使用情况

命令格式

free [options]

参数

  • -b:以字节为单位显示内存使用情况
  • -k:以KB为单位显示内存使用情况
  • -m:以MB为单位显示内存使用情况
  • -g:以GB为单位显示内存使用情况
  • -s:间隔指定秒数后持续输出内存使用情况
  • -t:显示内存总量
  • -h:以易读的方式显示内存使用情况

输出详解

image-20230329085531651

  • total:物理内存总量
  • used:已使用的物理内存量
  • free:空闲物理内存量
  • shared:被多个进程共享的内存量
  • buffers:缓存的内存量
  • cache:缓存的文件系统的内存量
  • available:可用的物理内存量
  • Swap:交换空间总量、已使用的交换空间量、空闲交换空间量

案例

以MB为单位显示内存使用情况

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7802         417        7212          11         172        7159
Swap:          8063           0        8063

每3秒输出一次内容的使用情况

[root@localhost ~]# free -s 3
              total        used        free      shared  buff/cache   available
Mem:        7990068      427416     7385364       12052      177288     7331104
Swap:       8257532           0     8257532

以人能够看懂的方式显示内存使用情况

[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        418M        7.0G         11M        173M        7.0G
Swap:          7.9G          0B        7.9G

swapon

Linux swapon命令用于启用交换空间,也就是将指定的交换分区或交换文件加入到系统的交换空间中 命令使用方法我们在创建swap分区过程中介绍使用

创建swap分区过程

确定分区大小:一般来说,swap分区的大小应该是系统内存大小的两倍。但是,如果系统内存很大,也可以考虑将swap分区的大小设置为系统内存大小的1.5倍或1倍。

确定分区位置:swap分区应该位于硬盘的末尾,这样可以避免对其他分区的影响

使用fdisk或parted等命令创建分区:可以使用fdisk或parted等分区管理工具来创建swap分区,具体操作步骤包括选择要操作的硬盘、创建新的分区、设置分区类型为Linux swap等

格式化分区:在创建好swap分区后,需要使用mkswap命令将其格式化为swap分区,这样才能被系统识别并使用

启用swap分区:使用swapon命令将swap分区加入到系统的交换空间中,从而使操作系统可以将不常用的内存数据存储到swap分区中,释放物理内存资源。

下面我们创建Linux swap分区:

  1. 确定分区大小和位置,假设我们要创建一个大小为5GB的swap分区,硬盘为/dev/sdb,我们可以使用fdisk命令创建swap分区
[root@localhost ~]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n                # 创建分区
分区号 (1-128,默认 1)# 指定分区号
第一个扇区 (34-104857566,默认 2048)# 指定起始扇区和结束扇区
Last sector, +sectors or +size{
    
    K,M,G,T,P} (2048-104857566,默认 104857566):+5G   # 给分区分配5G内存
已创建分区 1 


命令(输入 m 获取帮助):t      # 设置分区类型
已选择分区 1
分区类型(输入 L 列出所有类型):L   # 查看分区类型 选择 Linux swap类型
  1 EFI System                     C12A7328-F81F-11D2-BA4B-00A0C93EC93B
  2 MBR partition scheme           024DEE41-33E7-11D3-9D69-0008C781F39F
  3 Intel Fast Flash               D3BFE2DE-3DAF-11DF-BA40-E3A556D89593
  4 BIOS boot                      21686148-6449-6E6F-744E-656564454649
  5 Sony boot partition            F4019732-066E-4E12-8273-346C5641494F
  6 Lenovo boot partition          BFBFAFE7-A34F-448A-9A5B-6213EB736C22
  7 PowerPC PReP boot              9E1A2D38-C612-4316-AA26-8B49521E5A8B
  8 ONIE boot                      7412F7D5-A156-4B13-81DC-867174929325
  9 ONIE config                    D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149
 10 Microsoft reserved             E3C9E316-0B5C-4DB8-817D-F92DF00215AE
 11 Microsoft basic data           EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
 12 Microsoft LDM metadata         5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
 13 Microsoft LDM data             AF9B60A0-1431-4F62-BC68-3311714A69AD
 14 Windows recovery environment   DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
 15 IBM General Parallel Fs        37AFFC90-EF7D-4E96-91C3-2D7AE055B174
 16 Microsoft Storage Spaces       E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D
 17 HP-UX data                     75894C1E-3AEB-11D3-B7C1-7B03A0000000
 18 HP-UX service                  E2A1E728-32E3-11D6-A682-7B03A0000000
 19 Linux swap                     0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
 20 Linux filesystem               0FC63DAF-8483-4772-8E79-3D69D8477DE4
 21 Linux server data              3B8F8425-20E0-4F3B-907F-1A25A76F98E8
 22 Linux root (x86)               44479540-F297-41B2-9AF7-D131D5F0458A
 23 Linux root (ARM)               69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
 24 Linux root (x86-64)            4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
 25 Linux root (ARM-64)            B921B045-1DF0-41C3-AF44-4C6F280D3FAE
 26 Linux root  (IA-64)             993D8D3D-F80E-4225-855A-9DAF8ED7EA97
 27 Linux reserved                 8DA63339-0007-60C0-C436-083AC8230908
 28 Linux home                     933AC7E1-2EB4-4F13-B844-0E14E2AEF915
 29 Linux RAID                     A19D880F-05FC-4D3B-A006-743F0F84911E
 30 Linux extended boot            BC13C2FF-59E6-4262-A352-B275FD6F7172
 31 Linux LVM                      E6D6D379-F507-44C2-A23C-238F2A3DF928
 32 FreeBSD data                   516E7CB4-6ECF-11D6-8FF8-00022D09712B
 33 FreeBSD boot                   83BD6B9D-7F41-11DC-BE0B-001560B84F0F
 34 FreeBSD swap                   516E7CB5-6ECF-11D6-8FF8-00022D09712B
 35 FreeBSD UFS                    516E7CB6-6ECF-11D6-8FF8-00022D09712B
 36 FreeBSD ZFS                    516E7CBA-6ECF-11D6-8FF8-00022D09712B
 37 FreeBSD Vinum                  516E7CB8-6ECF-11D6-8FF8-00022D09712B
 38 Apple HFS/HFS+                 48465300-0000-11AA-AA11-00306543ECAC
 39 Apple UFS                      55465300-0000-11AA-AA11-00306543ECAC
 40 Apple RAID                     52414944-0000-11AA-AA11-00306543ECAC
 41 Apple RAID offline             52414944-5F4F-11AA-AA11-00306543ECAC
 42 Apple boot                     426F6F74-0000-11AA-AA11-00306543ECAC
 43 Apple label                    4C616265-6C00-11AA-AA11-00306543ECAC
 44 Apple TV recovery              5265636F-7665-11AA-AA11-00306543ECAC
 45 Apple Core storage             53746F72-6167-11AA-AA11-00306543ECAC
 46 Solaris boot                   6A82CB45-1DD2-11B2-99A6-080020736631
 47 Solaris root                   6A85CF4D-1DD2-11B2-99A6-080020736631
 48 Solaris /usr & Apple ZFS       6A898CC3-1DD2-11B2-99A6-080020736631
 49 Solaris swap                   6A87C46F-1DD2-11B2-99A6-080020736631
 50 Solaris backup                 6A8B642B-1DD2-11B2-99A6-080020736631
 51 Solaris /var                   6A8EF2E9-1DD2-11B2-99A6-080020736631
 52 Solaris /home                  6A90BA39-1DD2-11B2-99A6-080020736631
 53 Solaris alternate sector       6A9283A5-1DD2-11B2-99A6-080020736631
 54 Solaris reserved 1             6A945A3B-1DD2-11B2-99A6-080020736631
 55 Solaris reserved 2             6A9630D1-1DD2-11B2-99A6-080020736631
 56 Solaris reserved 3             6A980767-1DD2-11B2-99A6-080020736631
 57 Solaris reserved 4             6A96237F-1DD2-11B2-99A6-080020736631
 58 Solaris reserved 5             6A8D2AC7-1DD2-11B2-99A6-080020736631
 59 NetBSD swap                    49F48D32-B10E-11DC-B99B-0019D1879648
 60 NetBSD FFS                     49F48D5A-B10E-11DC-B99B-0019D1879648
 61 NetBSD LFS                     49F48D82-B10E-11DC-B99B-0019D1879648
 62 NetBSD concatenated            2DB519C4-B10E-11DC-B99B-0019D1879648
 63 NetBSD encrypted               2DB519EC-B10E-11DC-B99B-0019D1879648
 64 NetBSD RAID                    49F48DAA-B10E-11DC-B99B-0019D1879648
 65 ChromeOS kernel                FE3A2A5D-4F32-41A7-B725-ACCC3285A309
 66 ChromeOS root fs               3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
 67 ChromeOS reserved              2E0A753D-9E48-43B0-8337-B15192CB1B5E
 68 MidnightBSD data               85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
 69 MidnightBSD boot               85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
 70 MidnightBSD swap               85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
 71 MidnightBSD UFS                0394EF8B-237E-11E1-B4B3-E89A8F7FC3A7
 72 MidnightBSD ZFS                85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
 73 MidnightBSD Vinum              85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
 74 Ceph Journal                   45B0969E-9B03-4F30-B4C6-B4B80CEFF106
 75 Ceph Encrypted Journal         45B0969E-9B03-4F30-B4C6-5EC00CEFF106
 76 Ceph OSD                       4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
 77 Ceph crypt OSD                 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D
 78 Ceph disk in creation          89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE
 79 Ceph crypt disk in creation    89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE
 80 OpenBSD data                   824CC7A0-36A8-11E3-890A-952519AD3F61
 81 QNX6 file system               CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1
 82 Plan 9 partition               C91818F9-8025-47AF-89D2-F030D7000C2C

分区类型(输入 L 列出所有类型):19    # 选择Linux swap类型
已将分区“Linux filesystem”的类型更改为“Linux swap”

命令(输入 m 获取帮助):p     # 打印分区信息

磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: 34A36361-B1EB-4F8B-A376-6D8DF0A504EF


#         Start          End    Size  Type            Name
 1         2048     10487807      5G  Linux swap      

命令(输入 m 获取帮助):w    # 设置成功保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
  1. 格式化分区。使用mkswap命令将/dev/sdb1格式化为swap分区
[root@localhost ~]# mkswap /dev/sdb1 
正在设置交换空间版本 1,大小 = 5242876 KiB
无标签,UUID=50b44173-45c6-45bb-9272-35ac0f70dd3c
  1. 启用swap分区,使用swapon命令将/dev/sda3加入到系统的交换空间中(可以使用swapoff关闭交换空间)
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        430M        7.0G         11M        207M        7.0G
Swap:          7.9G          0B        7.9G
[root@localhost ~]# swapon /dev/sdb1   # 开启交换空间 /dev/sdb1
[root@localhost ~]# free -h     
              total        used        free      shared  buff/cache   available
Mem:           7.6G        435M        7.0G         11M        207M        7.0G
Swap:           12G          0B         12G
root@localhost ~]# free -h     
              total        used        free      shared  buff/cache   available
Mem:           7.6G        435M        7.0G         11M        207M        7.0G
Swap:           12G          0B         12G

猜你喜欢

转载自blog.csdn.net/qq_52089863/article/details/129830960