パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

FreeBSD 4.9-RELEASE 公開」記事へのコメント

  • 最近、メモリが安くなってきています。用途によって違うので いちがいには言えないと思いますが、皆さん、どれくらいの メモリをサーバに積んでいらっしゃいますか。また、どれくらい メモリを積みたいと思っていらっしゃいますか。
    • by Anonymous Coward
      ふつー1G,SWAP 2G
      squidで700Mぐらい使用するマシンはメモリ1.5G,SWAP 3G
      • by Anonymous Coward on 2003年10月30日 1時49分 (#423621)
        なぜスワップを物理メモリの2倍にするのか、
        そしてその構成が適用するシステムに合致しているか、
        きちんと説明できます?

        # 慣習で…とかは無しでお願いします
        親コメント
        • by tag (10007) on 2003年10月30日 1時58分 (#423622) 日記
          OSによって実装が違うのですが、FreeBSDの場合はマニュアルの tuning(7) [freebsd.org]にこうあります。
          You should typically size your swap space to approximately 2x main memory. If you do not have a lot of RAM, though, you will generally want a lot more swap. It is not recommended that you configure any less than 256M of swap on a system and you should keep in mind future memory expansion when sizing the swap partition. The kernel's VM paging algorithms are tuned to perform best when there is at least 2x swap versus main memory.

          ということで2倍程度の時に最良の性能を示すらしいです。

          親コメント
          • これって、Mach VM の時代(メモリ割り当て時にスワップも同時に同じ分だけ予約される)のものでしょうから、Marged Buffer になったら理論的には半分で良いと思うのです。

            ってことで、私はメインメモリ=スワップ程度が適当かな、と同じ量を割り当てています。

            まあ、実質的に動いているプロセスがスワップを始めるとダメダメですが、重くなった際に待機プロセスがスワップアウトされるくらいというのが目安と思います。

            --
            親コメント
            • by SteppingWind (2654) on 2003年10月30日 11時03分 (#423765)

              メモリ割り当て時に同じ大きさのスワップを同時に取るというのは, むしろMachVMよりも前の物だったように記憶しているのですが. MachVM以降mmap等も含めてスワップと実メモリが統合された設計になったような...

              実際のところ業務で使うサーバでは, スワップしたらシステムサイジング失敗と考えてよいぐらいなので, 統合VMをサポートしているOSではスワップ領域は完全に飾りなのですが, 商用UNIXの中では唯一HP-UXが統合VM化されていないので無駄なスワップ領域を食うんですよね. 逆にFreeBSDではカーネルパラメータで明示的にスワップを禁止することも可能(組み込みに近い用途を考慮しているのかな?)なのですが, このことはmalloc等でメモリが確保できないこともありうるということなので, ユーザプログラム側もちゃんとそれに対処していないと有効に使えませんが.

              個人的にはFreeBSDでのサーバ構築は, 基本はon memoryで設計して, スワップ領域は将来のメモリ増設も含めて主記憶と同じ容量とし, 万一の時のスワップと障害時のメモリダンプ領域としています.

              親コメント
              • 実際のところ業務で使うサーバでは, スワップしたらシステムサイジング失敗と考えてよいぐらいなので, 統合VMをサポートしているOSではスワップ領域は完全に飾りなのですが, 商用UNIXの中では唯一HP-UXが統合VM化されていないので無駄なスワップ領域を食うんですよね.
                最近ではswapmem_on [hp.com]なるカーネルパラメータが追加されたので、単純にスワップ領域を無駄に食いつぶすということはなくなったようです。

                この解決方法が本質的な改善であるかどうかは...わからんです。

                親コメント
            • by Anonymous Coward on 2003年10月30日 4時43分 (#423661)

              tuning(7)を書いた [freebsd.org]のはFreeBSD 4.xのVMデザイン [freebsd.org]に大きな貢献をしているMatthew Dillonです。Mach VMのことは考慮されていません。

              例えばスワップ領域の割り当てが馬鹿だとスワップイン/アウトの際にたくさんシークしなくてはいけないわけですが、そうならないよう効率的に行うには、物理メモリの2倍が目安ということのようです。

              親コメント
          • by tag (10007) on 2003年10月30日 2時39分 (#423634) 日記
            今回のリリースでの追加機能 pae(4) [freebsd.org]の部分を和訳しようかと、何回も読み返していたんです。そこには、smp(4), tuning(7), config(8)へのリンクが あるので、 tuning(7) [freebsd.org]についても何度も読んで確認していたところだったんです。

            そういうことでした。 問い [srad.jp]の回答になったでしょうか。

            親コメント
        • tuning(7)
          The kernel's VM paging algorithms are tuned to perform best when there is at least 2x swap versus main memory.
        • 一般的な性能の点ではドキュメントの通りかもしれませんが、必ずしも
          その構成が特定の条件で良い性能を発揮するとは限らないのでは?

          FreeBSD4.8 + squid の proxy が激しい pagein/out で固まるので AC
          • そんなのは前提事項です。最初のコメントの

            > 用途によって違うのでいちがいには言えないと思いますが、

            が読めないですか?

            話を盛り上げたいなら、特定の条件てのを何か出して考察してみせてよ。
            • 大元のコメントではスワップサイズは話題にされていませんが?

              大元は用途に対する物理メモリ搭載量の問いかけなので、
              物理メモリとスワップサイズの比率が話題となっているこのインデントでは、
              引き合いに出すのは不適切。

              # スワップに関する性能低下は、十分な物理メモリを積めで話題は終わるし。

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...