什么是Linux的交换分区
Swap:交换分区
– 类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。
– Swap分区在系统的运行内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
– 硬盘分区为主分区+扩展分区 所有的逻辑分区都在扩展分区内;swap 肯定是要的分区。
增加Linux交换分区
- if 代表输入文件。如果不指定if,默认就会从stdin中读取输入。
- of 代表输出文件。如果不指定of,默认就会将stdout作为默认输出。
- bs 代表字节为单位的块大小。
- count 代表被复制的块数。
- /dev/zero 是一个字符设备,会不断返回0值字节(\0)。
# 创建一个指定大小的文件(这里给的是在根目录创建一个2G名为swap的文件)
dd if=/dev/zero of=/swap bs=1MB count=2048
# 或
dd if=/dev/zero of=/swap bs=1024 count=2048000
# 建立和设置交换分区
mkswap /swap
# 启用交换分区
swapon /swap
# 查看是否成功
free -h
## 写入挂在文件(开机启动自动挂载)
echo "/swap swap swap defaults 0 0" >> /etc/fstab
# 禁用交换分区命令
swapoff /swap
# 删除创建的文件
rm -rf /swap
# 如果设置了挂载修改 /etc/fstab 文件取消挂载
dd命令详解
dd <参数>
bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;
cbs=<字节数>:转换时,每次只转换指定的字节数;
conv=<关键字>:指定文件转换的方式;
count=<区块数>:仅读取指定的区块数;
ibs=<字节数>:每次读取的字节数;
obs=<字节数>:每次输出的字节数;
of=<文件>:输出到文件;
seek=<区块数>:一开始输出时,跳过指定的区块数;
skip=<区块数>:一开始读取时,跳过指定的区块数;
--help:帮助;
--version:显示版本信息。
bs块大小可以使用的计量单位表
单元大小 | 代码 |
---|---|
字节(1B) | c |
字节(2B) | w |
块(512B) | b |
千字节(1024B) | k |
兆字节(1024KB) | M |
1024MB | G |
echo 10 >/proc/sys/vm/swappiness
# /etc/sysctl.conf文件,并增加以下内容
vm.swappiness = 10
sysctl -p