在Linux系统中,swap为了在物理内存不足的情况下进行内存延伸记录。
我们知道CPU所读取的数据都来自于内存,当内存不足的时候,为了保证服务器正常运行,内存中暂时不用的程序或者数据会被挪到swap中,空出来的内存留给需要运行的程序加载。
插个小话: 我曾经天真的在一台1G的服务器上装了一个gitlab,然后结果就是内存跑满,io异常,ssh都上不了了。因为gitlab那家伙要吃七八百兆的内存 - -。多么痛的领悟!
通常有两种方式建置swap,其一是实体分割槽,其二是文件。
1. 创建空文件
dd if=/dev/zero of=/swap bs=1M count=4k
这样就创建了一个4G的文件。 选项与参数: if :就是 input file ~也可以是装置喔! of :就是 output file ~也可以是装置; bs :规划的一个 block 的大小,若未指定则默认是 512 bytes(一个 sector 的大小) count:多少个 bs 的意思。
其实
dd
最大的功效是在于备份,而不只是创建一个文件而已。尤其是由disk到disk。
2. 格式化空文件为swap
mkswap /swap
3. 启动swap
free
swapon /swap
free
swapon -s
4. 关闭swap
free
swapoff /swap
free
5. 加入开机启动项
sudo vi /etc/rc.local
在exit 0前面添加
sudo mkswap -f /swap && sudo swapon /swap
viencoding.com版权所有,允许转载,但转载请注明出处和原文链接: https://viencoding.com/article/71