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

swap割り当てルール、やっぱりRAMの2倍?」記事へのコメント

  • そういうわけで、1Gのメモリを乗っけたWindowsXPマシンを利用していますが、
    スワップをゼロにしてかれこれ四年ほど運用してますが、
    ゲームにしろ、VisualStudioにしろ落ちた覚えが無いですね。
    先日、Sporeで落ちたこと以外は・・・。

    スワップを有効にしていると、実メモリが足りているのに、
    勝手にスワッピングするので、そちらのほうが重かったりします。
    なので、いい加減にPCごと買い換えることを検討しています。
    • by Anonymous Coward on 2008年10月04日 13時26分 (#1431823)
      > スワップを有効にしていると、実メモリが足りているのに、
      > 勝手にスワッピングするので、そちらのほうが重かったりします。

      それはXPだからです。Vistaからは、メモリに余裕があればスワッピングしないので
      大容量のメモリを本当の意味で効率よく使えます。
      具体的な例では、XPでアプリケーションを最小化すると、
      空きメモリに関係なくスワップされてしまい、ウィンドウを復帰したときに
      ハングアップに等しいディスクアクセスに見舞われることがあります。
      Vistaではこの種の現象を見ることはなくなりました。
      親コメント
      • by Anonymous Coward
        >Vista
        だが、他が重くては意味がない
        • by Anonymous Coward
          スワップより遅い動作なんてまずありませんよ。
        • 32bitだと現状では2GB-3GBが限界だと聞いた。

          しかもOSだけでも1GB以上のメモリを消費するという。
          Vistaにとって「本当に大容量のメモリ」とは4GB-8GB以上なんじゃないか?

          つまり「少なくとも32bit Vistaは欠陥品」と言えるんじゃないかなあ。
          #さすがはWindowsME2。
    • by Anonymous Coward on 2008年10月04日 11時08分 (#1431734)

      スワップを有効にしていると、実メモリが足りているのに、
      勝手にスワッピングするので、そちらのほうが重かったりします。

      それは、Windows だから。
      他にもそういう OS があるかもしれないが、少なくとも FreeBSD では十分な実メモリがあるのにスワップしたりしないよ。
      どちらが良いのかは、使い方によるんだろうけど。

      # 今 FreeBSD 7.0 で試したら、空きが10%を切ってもスワップしなかった。

      スワップをゼロにしてかれこれ四年ほど運用してますが、
      昔の Windows(2000?)は完全にゼロにすることはできなかったと思うけど、XP ではできるの?
      親コメント
      • by Anonymous Coward on 2008年10月04日 11時44分 (#1431757)
        >完全にゼロにすることはできなかったと思うけど、XP ではできるの?

        出来ます。してます。
        少なくともOS提供のコンパネで、なしを指定できます。裏で何やってるかはともかくとして。
        物理メモリは2G。

        用途によるんでしょうけど、
        TV録画だのFirefoxだのOracleXE+Ruby+Eclipseだのごた混ぜに使ってる行儀悪い当方の環境で、
        やばくなったことは無いです。

        というかメモリ使用量のメーターを日常的に見てて「あーこれ立ち上げたら足りなくなりそうだなーこっち落とすかー」とか手動でやってます。本末転倒?

        あと職場PC(自分の)は何故かHDDだけ古い奴で、
        サイズは小さいわ、速度は遅いわなので、
        これも(たまたま余ってたので)メモリ2G積んで、SwapはOFFにしてます。
        SwapOFFだと時折(アプリ起動時とか)しか重くならないけど、ONだとほぼ常時重いです。
        親コメント
        • by Anonymous Coward
          >メモリ使用量のメーターを日常的に見てて「あーこれ立ち上げたら足りなくなりそうだなーこっち落とすかー」とか手動でやってます。本末転倒?

          ケッハモルタア、ケッハモヌラタア・・・
          あなた!Win9xを利用していたことがありますね?
          そしてその頃はシステムリソースのメータを気にしながら作業をしていたことがある・・・
          従って現在でも空きメモリを気にしつつ作業することが苦にならない!
        • by Anonymous Coward
          >>完全にゼロにすることはできなかったと思うけど、XP ではできるの?
          >出来ます。してます。

          うろおぼえですが、XPからはカーネルがEmbed版Windowsと共通になったため、
          その方面の用途も考慮されてゼロにできるようになったはずです。
      • Windows2000でもSwapOffにできるけど、それをやると何故か動かないソフトが多発。
        結局SwapOnしました。

        Swapがある前提で組まれたコードがOSの一部にあるんだろうと思ってあきらめたけど、
        迷惑なOSだこと。

        #でもいまだに使ってる
        親コメント
      • by Anonymous Coward
        ># 今 FreeBSD 7.0 で試したら、空きが10%を切ってもスワップしなかった。

        事前に dirty な page を flush(disk に書いおく)して、clean な page(有効だがいつでも purge 可能)
        をある程度確保という動作もしてないということですか?

        P.S swap というと、process の入れ替えというイメージがありますね
        • >P.S swap というと、process の入れ替えというイメージがありますね

          そもそも swap は プロセス(orタスク) を丸ごと交換するメモリ管理方法で,
          ページ単位で交換する場合は ページング といっていたはず.
          なぜか最近はページ単位の交換もスワップといっているようで.

          ついでに「スワップ領域はメモリの2倍」というのは, ページ単位での
          メモリ管理 がまだなかった頃からの伝統で,

              (全メモリ量 - swapper などのメモリ量 = 実行可能なプログラムサイズ)
                × 同時実行するプロセス(タスク)数

          という式を

              (実行可能なプログラムサイズ ≒ 実装メモリ量)
                × (スワップアウトするプロセス + スワップインするプロセス = 2)

          と簡略化したもののはず.
          親コメント
        • by Anonymous Coward
          > 事前に dirty な page を flush(disk に書いおく)して、clean な page
          >(有効だがいつでも purge 可能)
          > をある程度確保という動作もしてないということですか?

          それってファイルシステム用のバッファの話で、今回の仮想記憶関連の話とは関係無い
          のでは? (私の勘違いならすみません)

          • by Anonymous Coward
            >それってファイルシステム用のバッファの話で、今回の仮想記憶関連の話とは関係無い
            >のでは? (私の勘違いならすみません)

            今時の UNIX では、前者は仮想記憶/ページング機構の上で、実現されています。
            逆に、ファイルと無関係なページは、anonymousページとして、swap と結び付けられるようになっています。
            メモリの空き状況に応じて、dirty な page は 2針クロックアルゴリズム等により、swap に flush されます。

最初のバージョンは常に打ち捨てられる。

処理中...