dd if扩展交换空间
交换空间太小,使用dd的方式扩展2G空间。
ubuntu@ubuntu-42:/usr/local/tomcat$ free -h
total used free shared buff/cache available
Mem: 7.6G 6.0G 855M 13M 765M 1.3G
Swap: 2.0G 2.0G 2.9M
ubuntu@ubuntu-42:/usr/local/tomcat$ sudo dd if=/dev/zero of=/home/swap bs=1024 count=2097152 #示意扩展2G的空间。
dev/zero是Linux的一种特殊字符设备(输入设备),可以用来创建一个指定长度用于初始化的空文件,如临时交换文件,该设备无穷尽地提供0,可以提供任何你需要的数目。
bs=1024 :单位数据块(block)同时读入/输出的块字节大小为1024个字节,即1KB,bs(即block size)。
count = 2097152 表示的是2G
具体计算公式为:1KB * 2097152 =1KB *1024(k)*1024*2 = 2097152 =2G
ubuntu@ubuntu-42:/usr/local/tomcat$ sudo mkswap /home/swap
ubuntu@ubuntu-42:/usr/local/tomcat$ sudo swapon /home/swap
ubuntu@ubuntu-42:/usr/local/tomcat$ free -h
total used free shared buff/cache available
Mem: 7.6G 6.0G 131M 13M 1.5G 1.4G
Swap: 4.0G 2.0G 2.0G
ubuntu@ubuntu-42:/usr/local/tomcat$sudo chown 0600 /home/swap
ubuntu@ubuntu-42:/usr/local/tomcat$vim /etc/fstab //开机挂载
/home/swap swap swap defaults 0 0
如果在原有基础上再次扩展,会报错:
$ sudo dd if=/dev/zero of=/home/swap bs=1024 count=2048000
dd: failed to open '/home/swap': Text file busy
解决:需要先关闭swap,再重新分配,即执行
$ sudo swapoff -a
结束。