Centos 配置 swap 空间

近期发现网站小鸡内存有些不够用,于是就寻思着通过增加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  #删除文件

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

  1. boke112导航 说道:

    据说这个SWAP很给力,很多服务器都会折腾这个

    1. 黑鸟君 说道:

      恩,看需求吧,内存小的或者稍微不足的,SWAP还是很有必要的..