Linux 添加和删除 Swap 文件
Post

Linux 添加和删除 Swap 文件

Linux 内核为了提高读写效率与速度,会将文件在内存中进行缓存,Swap 是通过磁盘文件的形式给系统增加虚拟内存的解决方案。

所以 Swap 速度肯定比真实内存慢,但是可以让系统可以处理超过自身内存瓶颈的任务。默认情况下,系统会用完物理内存后才用虚拟内存。

检查 Swap

先检查一下系统里有没有存在的 Swap 文件,如果返回的信息概要是空的,则表示 Swap 文件不存在。

1
swapon -s

free 命令可以确定 swap 文件是否在在使用。

1
free -h

创建 Swap

一般 Swap 文件的大小是内存的 2 倍,如果内存 1G,Swap 应该就是 2G。

1
fallocate -l 2G /swapfile

如果这个命令失败就用dd,但是需要计算字节数。

swap 文件的大小单位为 M。将该值乘以 1024 得到块大小。例如,64MB 的 swap 文件的块大小是 65536。

下面使用 dd 命令来创建 Swap 文件。

1
dd if=/dev/zero of=/swapfile bs=1024 count=4194304

参数说明:

  • if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
  • of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
  • bs=bytes:同时设置读入/输出的块大小为 bytes 个字节
  • count=blocks:仅拷贝 blocks 个块,块大小等于 bs 指定的字节数。

最后,赋予 Swap 文件适当的权限:

1
2
chown root:root /swapfile
chmod 0600 /swapfile

激活 Swap

创建好 Swap 文件,还需要格式化后才能使用。运行命令:

1
mkswap /swapfile

激活 Swap ,运行命令:

1
swapon /swapfile

如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

1
/swapfile   swap   swap    defaults 0 0

当下一次系统启动时,新的 swap 文件就打开了。

在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 Swap 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 Swap 分区。当 swappiness 内容的值为 100 时,表示积极地使用 Swap 分区,并且把内存中的数据及时地置换到 Swap 分区。 默认值为 0,表示需要在物理内存使用完毕后才会使用 Swap 分区。

1
2
3
4
5
6
7
8
 ## 查看默认的swappiness参数
 cat  /proc/sys/vm/swappiness
 ## 临时修改
 sysctl -w  vm.swappiness=10
 ## 永久修改
 vi + /etc/sysctl.conf
 # 添加 vm.swappiness=10
 ## 让配置生效  sysctl -p

删除 Swap

先卸载 Swap 分区,后从 fastab 中删除,最后删除文件。

1
2
3
swapoff /swapfile
# remove swap configuration from /etc/fstab
rm -rf /swapfile

参考链接

  • https://blog.csdn.net/wangjunjun2008/article/details/50681115
  • https://www.cnblogs.com/operationhome/p/10571166.html

管理MacOSX的开机启动项

几种私有云盘解决方案