swap分区
是指在Linux操作系统中为了提高系统运行效率而设置的一块特殊的硬盘空间,也称为虚拟内存。当系统内存不足时,会将一部分不常用的内存数据存储到swap分区中,以释放内存空间,从而保证系统的稳定运行。swap分区的大小一般设置为物理内存大小的两倍,但也可以根据实际情况进行调整
。
Linux系统中,swap分区的大小和使用情况可以通过命令行工具如swapon
和free
来查看和管理。
Linux free命令用于查看系统内存使用情况,包括物理内存和交换空间的使用情况
命令格式
free [options]
参数
输出详解
以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
Linux swapon命令用于启用交换空间,也就是将指定的交换分区或交换文件加入到系统的交换空间中 命令使用方法我们在创建swap分区过程中介绍使用
确定分区大小
:一般来说,swap分区的大小应该是系统内存大小的两倍。但是,如果系统内存很大,也可以考虑将swap分区的大小设置为系统内存大小的1.5倍或1倍。
确定分区位置
:swap分区应该位于硬盘的末尾,这样可以避免对其他分区的影响
使用fdisk或parted等命令创建分区
:可以使用fdisk或parted等分区管理工具来创建swap分区,具体操作步骤包括选择要操作的硬盘、创建新的分区、设置分区类型为Linux swap等
格式化分区
:在创建好swap分区后,需要使用mkswap命令将其格式化为swap分区,这样才能被系统识别并使用
启用swap分区
:使用swapon命令将swap分区加入到系统的交换空间中,从而使操作系统可以将不常用的内存数据存储到swap分区中,释放物理内存资源。
下面我们创建Linux 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.
正在同步磁盘。
mkswap
命令将/dev/sdb1格式化为swap分区[root@localhost ~]# mkswap /dev/sdb1
正在设置交换空间版本 1,大小 = 5242876 KiB
无标签,UUID=50b44173-45c6-45bb-9272-35ac0f70dd3c
[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