FreeBSD は swap の最大の半分の大きさを割り当てると警告2017年05月26日 11時35分06秒

カーネルのコードを見ると、スワップデバイスの総量が割り当てられる最大 swap サイズの半分以上を越えると警告が表示されるようになる。
/*
 * Check that the total amount of swap currently configured does not
 * exceed half the theoretical maximum.  If it does, print a warning
 * message and return -1; otherwise, return 0.
 */
static int
swapon_check_swzone(unsigned long npages)
{
        unsigned long maxpages;
 
        /* absolute maximum we can handle assuming 100% efficiency */
        maxpages = uma_zone_get_max(swap_zone) * SWAP_META_PAGES;
        /* recommend using no more than half that amount */
        if (npages > maxpages / 2) {
                printf("warning: total configured swap (%lu pages) "
                    "exceeds maximum recommended amount (%lu pages).\n",
                    npages, maxpages / 2);
                printf("warning: increase kern.maxswzone "
                    "or reduce amount of swap.\n");
                return (-1);
        }
        return (0);

}

この辺りのコードを見た限りでは、なぜ半分なのかが分からなかった。このコードは、11.0-RELEASE と11-STABLE のコード。スワップを管理するコードには、何度か大きな変更が加えられている様なので、もしかしたらこのコメントは過去の遺物なのかも知れない。