Linux常用命令-mkswap

命令

mkswap

描述

set up a Linux swap area
设置swap分区

用法

1
mkswap [options] device [size]

选项

1
2
3
4
5
6
7
Options:
-c, --check 创建swap分区前检查坏块
-f, --force 允许swap分区大于设备大小,即超额
-p, --pagesize SIZE 指定pagesize大小
-L, --label LABEL 指定LABEL
-v, --swapversion NUM 指定swap空间版本号
-U, --uuid UUID 指定UUID

注意

swap分区建议仅作为临时使用,如运行较大的软件遇到内存不足时可以扩展swap分区,一般情况下还是以物理内存为主,按需增加内存大小,毕竟swap是读写硬盘,速度远不及内存

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$ free -m
total used free shared buff/cache available
Mem: 1980 163 1699 9 117 1679
Swap: 2047 0 2047
# 创建一个1G的空文件用于swap分区
$ dd if=/dev/zero of=/swapfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 5.48865 s, 191 MB/s
$ ll -h /swapfile
-rw-r--r-- 1 root root 1000M Aug 3 20:41 /swapfile
# 创建swap分区
$ mkswap /swapfile
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=3aa6868e-f060-4487-b29e-e6e0082f5b30
$ file /swapfile
/swapfile: Linux/i386 swap file (new style), version 1 (4K pages), size 255999 pages, no label, UUID=3aa6868e-f060-4487-b29e-e6e0082f5b30
# 扩展swap分区,会提示swap分区文件权限建议为600
$ swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
$ chmod 600 /swapfile
$ free -m
total used free shared buff/cache available
Mem: 1980 164 668 9 1147 1654
Swap: 3047 0 3047
# 添加开机自动挂载,可以有多个swap条目
$ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

# 取消新加的swap分区
$ swapoff /swapfile
$ free -m
total used free shared buff/cache available
Mem: 1980 159 1723 9 97 1693
Swap: 2047 0 2047