我们都知道swap的作用是物理内存的扩展和交换。云服务器默认不启用swap,其原因是swap会消耗一定的磁盘IO,从而降低磁盘的性能。但是对于运行需要消耗大量内存的应用程序的操作系统,启用swap是很有必要的。启用swap后,那些长期驻留的闲置状态的内存就可以被交换到swap分区中,从而把有用的内存留给那些更新频繁的应用程序,比如文件缓存等。由于FreeBSD系统和其他Linux操作系统在swap的设置上有所不同,这篇文章就专门讲解如何在FreeBSD系统上设置swap。
第一步:确认swap的状态
执行以下命令,如果没有任何输出,说明swap不存在,需要创建swap。
swapinfo
关于swap的大小问题,以往的规则是内存的1倍或2倍大小,但随着内存越来越大,这样的规则已经不能适用了。比如16GB内存的系统,往往不需要32GB这么大的swap。因此,到底设置多大的swap,需要根据不同的场景来决定。而且,swap并不是设置之后就不能修改的。因此,我们可以根据情况随时调整swap的大小。另外,随着SSD固态硬盘的广泛应用,swap也不会对磁盘性能造成很大的影响。
第二步:创建swap
举个例子,我们创建一个512mb的swap文件,路径为/usr/swap0。您可以根据具体情况对这两个参数做调整。
dd if=/dev/zero of=/usr/swap0 bs=1m count=512
设置swap文件的权限为600,即对root用户可读可写。
chmod 600 /swapfile
第三步:启用swap
默认情况下,swap不会随系统自动启动,因此需要写入文件系统。
echo "md99 none swap sw,file=/usr/swap0,late 0 0" >> /etc/fstab
swapon -aL
再次用swapinfo命令确认swap是否设置成功。
swapinfo
输出结果如下,说明swap已设置成功。
Device 1K-blocks Used Avail Capacity
/dev/md99 524288 0 524288 0%
以上就是在FreeBSD云服务器上设置swap的方法。