`

swap分区

阅读更多

根据Redhat公司的建议,Linux系统swap分区最适合的大小是物理内存的1-2倍.不过Linux上有些软件对swap分区得需求较大,例如要顺利执行Oracle数据库软件,swap分区至少需要400MB或者物理内存2 倍以上的空间.当然我们在安装Linux的时候,就能直接讲swap分区设置到足够的大小,但如果已经安装好Linux了,之后又想再安装类似 Oracle的软件,却发现swap分区空间不够,该如何处理?

针对此种情况,有两种解决方法:一是创建新的swap分区;另一则是创建swap文件.

(这里暂时对创建swap文件做说明)

创建swap文件
如果你的硬盘空间已经全部分配给其他分区,也没有多余的预算新添购硬盘,我们可以利用swap文件的方式增加虚拟的swap空间,不过执行性能会较实际的swap分区差.

产生swap文件
要创建swap文件,执行dd命令,新增一个256MB的swap文件:

# dd if=/dev/zero of=/tmp/myswap bs=32k count=8192
(bs=32k指定每个扇区占用32kb,读入了8192 0个区段,输出了8192 0个区段)

注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而 count的目的则在指定可以使用多少个扇区.因此,可以使用的硬盘空间就等于bs*count.以上范例为例,可以使用的硬盘空间等于32*8192= 262144(KB),亦等于256MB.

执行上述命令后,会在/tmp目录中创建一个256MB的myswap文件

格式华及启动swap文件
接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/tmp目录,并执行以下命令:

# mkswap myswap (#将文件格式化为swap文件格式)
setting up swapspace version 1 , size = 262144 KB
# swapon /tmp/myswap (#启动swap分区)

要停止使用新创建的swap文件,只要执行 swapoff /tmp/myswap命令即可.

开机时自动启动新添加的swap分区
如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件:

/dec/hdb5 swap swap defaults 0 0 (开机时启动此swap分区)
/tmp/myswap swap swap defaults 0 0 (开机时启动此swap文件)

以上文字电子版本转载自陈文超luckisme Blog,作者遵循GPL发布,原文出处“Red Hat Linux9实务应用”,版权归旗标出版股份有限公司所有。

 

下面是linux命令行操作的记录:

[root@ssoldaptest etc]# dd if=/dev/zero of=/tmp/myswap bs=32k count=8192
8192+0 records in
8192+0 records out
[root@ssoldaptest etc]# cd /tmp
[root@ssoldaptest tmp]# mkswap myswap
Setting up swapspace version 1, size = 268431 kB
[root@ssoldaptest tmp]# swapon /tmp/myswap
[root@ssoldaptest etc]# vi /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /dev/shm                tmpfs   defaults        0 0
none                    /proc                   proc    defaults        0 0
none                    /sys                    sysfs   defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/hdc                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
/dev/fd0                /media/floppy           auto    pamconsole,fscontext=system_u:object_r:removable_t,exec,noauto,managed 0 0
/dec/hdb5 swap swap defaults 0 0
tmp/myswap swap swap defaults 0 0

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics