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 のコード。スワップを管理するコードには、何度か大きな変更が加えられている様なので、もしかしたらこのコメントは過去の遺物なのかも知れない。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2017/05/26/8575100/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。