none
運用上、定期的なリブートは必要でしょうか? RRS feed

  • 質問

  • 「Windows 2000 Server」からのバージョンアップを実施しました。

    「Windows 2000 Server」はメモリ開放等を目的としたサーバ再起動を

    月に数回定期的に実施しておりましたが、「Windows Server 2008 R2」でも同様に実施

    しておいたほうが良いのでしょうか。それとも2008ではそのあたりの問題が解決しているのでしょうか。

    宜しくお願いいします。

    • 移動 Jundan Wu 2012年10月3日 17:05 (移動元:Windows Server 2008 R2 全般)
    2010年12月30日 15:14

回答

  • メモリーリークが原因でOSを再起動しないと OS 動作が不安定になるのを予防するってお話ですよね。(メモリーリークは、使用済みのメモリーの開放手続きをしていないプログラミング上のバクが原因)

    その昔、メモリ搭載量が少なかった頃はメモリーリークが切実な問題になっていましたが、最近のサーバーであれば多少のメモリーリークは気にならない程度のメモリーを搭載するのが一般的です。
    また、プログラム開発技術も進歩しており、メモリーリークが起きにくくなっています。

    以上の事から、メモリーリーク対策で定期的に再起動しなくてはならないという必要性は現状ありません。
    お使いのプログラムがメモリーリークを起こしているようであれば、開発元に連絡来れば対策してくれるハズです。

    僕がおさめたシステムで、数年ノンストップで稼働している Windows Server 2003 や 2008 が何台もありますし、Windows Update の自動更新を有効にしていれば、月に1度自動的に再起動されることになります。


    MVP for Virtual Machine : Networking
    • 回答としてマーク cae26 2011年1月1日 16:51
    2010年12月31日 8:59
    モデレータ
  • チャブーンです。

    どうでもいい話しも含めて。

    Windows の非常に古い OS (Windows NT 4.0 Server) では、率直にいって製品のデキに問題があり(長期連続運用を想定していたとはいえない)、メモリリークや原因不明のフリーズが発生することがありました。これを事前に防止する意味で、「適当なタイミングでリブート」という習慣が経験則的にあったのはたぶん事実です。

    ですが、現在のWindows(Windows Server 2003以降)ではこういった点は大幅に改善されていること、またOS自体が長期連続運用を想定して設計されているので、普通はこういう心配はしなくて大丈夫です。

    どうしても気になる、というなら、パフォーマンスモニタを使って利用可能な物理メモリ量などを、「ちゃんと監視して」運用するのがいいでしょう。

    ただWindowsは月1で「セキュリティ更新プログラム」をインストールすることがほとんどなので、このタイミングではリブートが必要です。これはMurashimaさんが書かれたとおりですね。

    • 回答としてマーク cae26 2011年1月1日 16:51
    2010年12月31日 14:22
    モデレータ

すべての返信

  • 「Windows 2000 Server」はメモリ開放等を目的としたサーバ再起動を

    月に数回定期的に実施しておりました

    回答ではありません

    定期的なサーバー再起動が必要だという話を初めて聞きました(私は開発者なので運用に疎いだけかもしれませんが)。差し支えなければ後学のため情報ソースを教えていただけないでしょうか。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2010年12月30日 18:29
  • 定期的なサーバー再起動が必要だという話を初めて聞きました(私は開発者なので運用に疎いだけかもしれませんが)。差し支えなければ後学のため情報ソースを教えていただけないでしょうか。

    推測するに、運用経験(実績)から判断されているか、念のために実施されているのでは?
    (「メモリー開放を目的とした」という風に記載されているため、お聞きしても「情報ソース」が出てこないのではと感じました。もし、ソースをお持ちであれば失礼な発言となってしまい、恐縮ですが…)

    なお、私自身も運用経験がないため、検索で見つかったスレッドを参考に提示します。
    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5144&forum=6

     

    主題の Windows Server 2008 R2 に関しても、上記のスレッドに出てくるような要因で再起動が必要となることはあり得ます。
    独自のサービスのリークの蓄積などは今でも十分あり得るためです。(開発者観点)


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2010年12月30日 22:33
  • Azuleanさんフォローありがとうございます。

    リンク先のスレッドを読みました。

    「運用ポリシーによってまちまちだが、定期的に再起動しておくに越したことはない」といったところでしょうか。


    Blog:プログラマーな日々 http://d.hatena.ne.jp/JHashimoto/
    2010年12月31日 0:11
  • メモリーリークが原因でOSを再起動しないと OS 動作が不安定になるのを予防するってお話ですよね。(メモリーリークは、使用済みのメモリーの開放手続きをしていないプログラミング上のバクが原因)

    その昔、メモリ搭載量が少なかった頃はメモリーリークが切実な問題になっていましたが、最近のサーバーであれば多少のメモリーリークは気にならない程度のメモリーを搭載するのが一般的です。
    また、プログラム開発技術も進歩しており、メモリーリークが起きにくくなっています。

    以上の事から、メモリーリーク対策で定期的に再起動しなくてはならないという必要性は現状ありません。
    お使いのプログラムがメモリーリークを起こしているようであれば、開発元に連絡来れば対策してくれるハズです。

    僕がおさめたシステムで、数年ノンストップで稼働している Windows Server 2003 や 2008 が何台もありますし、Windows Update の自動更新を有効にしていれば、月に1度自動的に再起動されることになります。


    MVP for Virtual Machine : Networking
    • 回答としてマーク cae26 2011年1月1日 16:51
    2010年12月31日 8:59
    モデレータ
  • チャブーンです。

    どうでもいい話しも含めて。

    Windows の非常に古い OS (Windows NT 4.0 Server) では、率直にいって製品のデキに問題があり(長期連続運用を想定していたとはいえない)、メモリリークや原因不明のフリーズが発生することがありました。これを事前に防止する意味で、「適当なタイミングでリブート」という習慣が経験則的にあったのはたぶん事実です。

    ですが、現在のWindows(Windows Server 2003以降)ではこういった点は大幅に改善されていること、またOS自体が長期連続運用を想定して設計されているので、普通はこういう心配はしなくて大丈夫です。

    どうしても気になる、というなら、パフォーマンスモニタを使って利用可能な物理メモリ量などを、「ちゃんと監視して」運用するのがいいでしょう。

    ただWindowsは月1で「セキュリティ更新プログラム」をインストールすることがほとんどなので、このタイミングではリブートが必要です。これはMurashimaさんが書かれたとおりですね。

    • 回答としてマーク cae26 2011年1月1日 16:51
    2010年12月31日 14:22
    モデレータ
  • 皆様、非常に丁寧な回答ありがとうございました。

    大変参考になりました。

    2011年1月1日 16:53