最近检查freebsd系统的/var/log/messages日志,发现提示错误信息,如下:
kernel: pid 63995 (httpd), uid 5001, was killed: out of swap space
kernel: swap_pager_getswapspace(16): failed
out of swap space,明显是swap不足啦,那怎么在freebsd系统下增加swap space呢?网上查了一下资料,实测了一下,记录如下:
一、确定系统内核是否开启了md,
[[email protected] ~]# more /usr/src/sys/i386/conf/GENERIC|grep md
device md # Memory “disks”
如果说有显示以上信息,就说明内核已支持md了,否则就要加入以上参数,然后重新编译内核了,关于怎么编译内核,可以参考文章”freebsd系统下编译内核”
二、检查freebsd系统的swap信息:
[[email protected] ~]# df -h
Filesystem Size Used Avail Capacity Mounted on /dev/mirror/gm0s1a 35G 7.6G 25G 24% / devfs 1.0K 1.0K 0B 100% /dev devfs 1.0K 1.0K 0B 100% /var/named/dev
三、建立freebsd系统的swap信息,例如,你要新增加1GB的swap空间,只需要执行命令:
[root@www.itkylin.com ~]# dd if=/dev/zero of=/usr/swap0 bs=1024k count=1024
如果要新增加2GB的swap空间,只需修改count=1024为count=2048即可,同理类推!
执行完以上命令,大约等个几十秒左右,会提示以下信息:
1024+0 records in
1024+0 records out
1073741824 bytes transferred in 43.878332 secs (24470890 bytes/sec)
[[email protected] ~]#
四、设定swap的权限,执行以下命令:
[[email protected] ~]# chmod 0600 /usr/swap0
五、修改rc.conf文件,开启 swap
[root@www.itkylin.comt ~]# /etc/rc.conf
swapfile=”/usr/swap0″ # Set to name of swapfile if aux swapfile desired.
:wq!
六、重启系统后,执行top命令,会发现Swap已经增加了1GB了!如果说不想重启系统而又想生效,可执行以下命令:
[[email protected] ~]# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0,然后再执行top命令查看Swap的信息!