[root@gamedb ~]# free –m
[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000
[root@gamedb tmp]# du -sh /tmp/big_swap
[root@gamedb tmp]# mkswap /tmp/big_swap
[root@gamedb tmp]# swapon /tmp/big_swap
[root@gamedb tmp]# free –m
[root@gamedb tmp]# vi /etc/fstab
# LABEL=SWAP-hda2 swap swap defaults 0 0
/tmp/big_swap swap swap defaults 0 0
===========================================================================================
一、查看内存和swap大小,发现swap是内存大小的一半
[root@gamedb ~]# free -m
total used free shared buffers cached
Mem: 1001 338 662 0 8 307
-/+ buffers/cache: 22 978
Swap: 509 0 509
===========================================================================================
二、决定修改swap大小,首先在空间合适处创建用于分区的swap文件:
[root@gamedb tmp]# dd if=/dev/zero of=/tmp/big_swap bs=1024 count=2000000
读入了 2000000+0 个块
输出了 2000000+0 个块
(注意:if 表示 infile,of 表示outfile,bs=1024 表示写入的每个块的大小为1024B=1KB(1024B字节=1024*8bit位)
===========================================================================================
三、查看创建的文件大小是否符合要求:
[root@gamedb tmp]# du -sh big_swap
2.0G big_swap
[root@gamedb tmp]# ls -al big_swap
-rw-r--r-- 1 root root 2048000000 6月 18 11:55 big_swap
===========================================================================================
四、将目的文件设置为swap分区文件:
[root@gamedb tmp]# mkswap big_swap
Setting up swapspace version 1, size = 2047995 kB
===========================================================================================
五、激活swap,立即启用交换分区文件:
[root@gamedb tmp]# swapon big_swap
===========================================================================================
六、再次查看内存和虚拟内存,发现已经被正常修改:
[root@gamedb tmp]# free -m
total used free shared buffers cached
Mem: 1001 984 16 0 2 931
-/+ buffers/cache: 50 950
Swap: 2462 0 2462
===========================================================================================
七、若要想使开机时自启用,则需修改文件/etc/fstab中的swap行:
[root@gamedb tmp]# vi /etc/fstab
# LABEL=SWAP-hda2 swap swap defaults 0 0
/tmp/big_swap swap swap defaults 0 0
===========================================================================================
附:fstab文件详解:
fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以 /dev/hda7 / ext2 defaults 1 1 为例逐个说明:
1. 第一项是您想要mount的储存装置的实体位置,如hdb或/dev/hda6。
2. 第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。
3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。
4. 第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0。
6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0。
第四个选项参数:
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
noexec(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!
nodev(不允许挂载设备文件)
nosuid,nosgid(不允许有suid和sgid属性)
nouser(不允许普通用户挂载)
如果想开机就自动挂载(mount)上,可以在/etc/fstab上添加如下几行,同样也可以用mount在/etc/rc.d/rc.local里启动:
/dev/hda5 /mnt/d vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda6 /mnt/e vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda7 /mnt/f vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0
/dev/hda8 /mnt/g vfat exec,dev,suid,rw,umask=0,iocharset=gb2312,codepage=936 0 0