Linux面试题

1. 以文件的方式创建并挂载2G的swap分区

使用 dd 命令生成一个 2GB 大小的文件

1
2
3
4
root@linux:~# dd if=/dev/zero of=/swapfile bs=4M count=500
500+0 records in
500+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 13.26 s, 158 MB/s

这里生成的是2.1GB,多出来0.1GB,原因是文件大小单位不同,一个是 MB 另一个是 MiB

具体对应大小

1
2
megabyte(MB) = 1000000
mebibyte(MiB) = 1024x1024 = 1048576

MB是1024的倍数,而MiB是1000的倍数,同理KB和KiB:

1
2
kilobyte(KB) = 1000
kibibyte(KiB) = 1024

接下来使用 mkswap 命令将刚刚创建好的 /swapfile 文件格式化为交换分区所需要的格式,并修改一下文件权限为 600 ,即只能由 root 用户读,不然默认的 755 会被其他用户看到,而里面的内容是内存里的信息,所以安全起见还是修改一下权限。

1
2
3
4
5
6
7
8
9
10
root@linux:~# mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2097147904 bytes)
no label, UUID=253bbab8-a489-4f21-8007-f161b9c795f1
root@linux:~# chmod 600 /swapfile
root@linux:~# swapon !$
swapon /swapfile
root@linux:~# free -h
total used free shared buff/cache available
Mem: 1.9Gi 454Mi 80Mi 2.0Mi 1.4Gi 1.3Gi
Swap: 2.0Gi 0B 2.0Gi

修改/etc/fstab使其启动时自动mount:

1
/swapfile  swap  swap    defaults 0 0
-------------本文结束感谢您的阅读-------------