Adding Swap Files
If you do not have free disk space to create a swap partition and you do need to add swap space urgently, you can use a swap file as well. From a performance perspective, it does not even make that much difference if a swap file is used instead of a swap device such as a partition or a logical volume, and it may help you fixing an urgent need in a timely manner. (如果没有多余的磁盘空间来增加交换分区,可使用交换文件代替。从性能方面来看,swap file跟swap device没多少区别)
To add a swap file, you need to create the file first. The dd if=/dev/zero of=/ swapfile bs=1M count=100 command would add 100 blocks with a size of 1 Mebibyte from the /dev/zero device (which generates 0s) to the /swapfile file. The result is a 100 MiB file that can be configured as swap. To do so, you can follow the same procedure as for swap partitions. First use mkswap /swapfile to mark the file as a swap file, after which you can use swapon /swapfile to active it.
例如:把原来的swap空间大小从2147MB添加到2247MB
[root@rhel7 ~]# free -m
total used free shared buff/cache available
Mem:
Swap:
[root@rhel7 /]# touch swapfileTest
[root@rhel7 /]# dd if=/dev/sda of=/swapfileTest bs=1M count=
+ records in
+ records out
bytes ( MB) copied, 1.45588 s, 72.0 MB/s
[root@rhel7 /]# mkswap /swapfileTest
mkswap: /swapfileTest: warning: don't erase bootbits sectors
(dos partition table detected). Use -f to force.
Setting up swapspace version , size = KiB
no label, UUID=c011c102-304a-4cb2--2c69500a82a8
[root@rhel7 /]# swapon /swapfileTest
swapon: /swapfileTest: insecure permissions , suggested. -----有提示,需要设置权限#chmod 0600 /swapfileTest
[root@rhel7 /]# free -m --比原来的2147添加的100MB
total used free shared buff/cache available
Mem:
Swap:
[root@rhel7 /]#
将配置写入到etc/fstab文件中,否则重启系统后不生效:
# vi /etc/fstab,增加如下行
/swapfileTest swap swap defaults 0 0