Linux交换区Swap
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
出现问题
- 系统过于卡顿
增加交换区大小
- 查看交换区大小:
free -m
- 进入root用户(非常重要,不然后续会很麻烦)
sudo su - root
- 创建一个目录:
mkdir /swap
- 进入目录
cd /swap
- 输入以下命令(增加swap空间):
dd if=/dev/zero of=swapfile bs=1024 count=10290000
a. 执行成功,可以看到如下内容:
记录了1029000+0 的读入
记录了1029000+0 的写出
1053696000字节(1.1 GB)已复制,69.0168 秒,15.3 MB/秒
b. 输入 ls -lh 可以看到一个文件。
-rw-r–r-- 1 root root 1005M 2010-01-02 14:35 swapfile - 配置
mkswap swapfile
- 挂载交换区:
swapon swapfile
- 再查看交换区大小
free -m
可能出现问题
- 不安全的权限 0644,建议使用 0600 (修改权限)
chmod 0600 /swap/swapfile
- swapon 失败: 设备或资源忙 (激活swap文件)
swapoff /swap/swapfile
swapon /swap/swapfile
- 重启后交换区恢复默认
命令:sudo vim /etc/fstab
添加:/swap/swapfile /swap swap defaults 0 0
保存:wq