近期发现网站小鸡内存有些不够用,于是就寻思着通过增加swap来优化下。
配置swap之前,通过 free 和 df 查看 swap 和 磁盘空间情况,目的是通过配置swap后比较变化。
[root@host ~]# free -m(默认单位为k, -m 单位为M) ···· [root@host ~]# df -h····
1、创建文件块
[root@host ~]# cd /var (进入一个文件夹,文件夹位置可以自定义) [root@host var]# dd if=/dev/zero of=swapfile bs=1024 count=1024000 (创建1GB的swap) 1024000+0 records in 1024000+0 records out 1048576000 bytes (1.0 GB) copied, 23.3843 s, 132.6 MB/s
参数解读:
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为bytes个字节
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。
bs指的是Block Size,就是每一块的大小。这里的例子是1024字节,意思就是count的数字,是以1024字节为单位的。
count是告诉程序,新的swapfile要多少个block。这里是1024000,就是说,新的swap文件是1G大小。
注意:此处可能需要花点时间才能完成,稍等片刻即可。
2、格式化并激活 Swap 文件
上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:
[root@host var]# mkswap swapfile (创建swap文件,实际上dd已创建,此处不必再创建) mkswap: swapfile: warning: don’t erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1023996 KiB no label, UUID=e878f535-ea6f-4516-8a34-f1458951aa36 [root@host var]# ll swapfile -rw-r–r– 1 root root 1048576000 12月 27 00:55 swapfile [root@host var]# /sbin/swapon swapfile (激活swap文件) [root@host var]# /sbin/swapon -s (检查swap是否正确) Filename Type Size Used Priority /var/swapfile file 1023992 0 -1
[root@host var]# vi /etc/fstab (加到fstab文件中让系统引导时自动启动)
在末尾增加以下内容:
/var/swapfile swap swap defaults 0 0
重启之后,top命令查看,有swap分区的大小了。
[root@host var]# sync[root@host var]# reboot
如果是在其他位置建立的SWAP分区,还需要注意文件的权限问题,如下赋予 Swap 文件适当的权限:
chown root:root ……../swapfile chmod 0600 ……../swapfile
3、删除swap交换文件
$ swapoff /var/swapfile #卸载swap文件 $ 并修改/etc/fstab文件 #从配置总删除 $ rm -rf /var/swapfile #删除文件