「ストップ・ザ・ワールド」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>Administrator
(ページの作成:「'''ストップ・ザ・ワールド'''(英語:stop the world)とは、ガベージコレクションを搭載したプログラミング言語や実...」)
 
2行目: 2行目:
  
 
==概要==
 
==概要==
[[サーバー]]で起きると監視室はパニックになる。
+
ストップ・ザ・ワールドは、[[ガベージコレクション]]の[[アルゴリズム]]の多くが、自動かつ漏れなく[[メモリ]]を解放するためには[[メインスレッド]]を停止した状態で実行する必要がある、ということが原因で発生する。
  
[[Java]]で書いた[[プログラム]][[メモリ]]をモリモリ積んだ[[サーバー]]で動かすと、[[メモリ]]を食い尽くすまで長い時間がかかるため、忘れた頃に一気に[[ガベージコレクション]]しようとして長時間のストップ・ザ・ワールドが発生するケースが多い。ストップ・ザ・ワールドの停止時間は基本的に[[メモリ]]の搭載量に比例するため、[[ITドカタ]]に配給されるしょぼい[[スペック]]の[[PC]]で動かしている開発時点では発覚しないことが多い。
+
ストップ・ザ・ワールドは運用中の[[サーバー]]で発生すると[[監視室]]はパニック状態になる。[[Java]]で書かれた[[プログラム]]を、[[メモリ]]をモリモリ積んだ[[サーバー]]で動かすと、[[メモリ]]を食い尽くすまで長い時間がかかるため、忘れた頃に一気に[[ガベージコレクション]]しようとして長時間のストップ・ザ・ワールドが発生するケースが多い。[[ハードディスク]]の[[デフラグ]]などと同様に、ストップ・ザ・ワールドの停止時間は基本的に[[メモリ]]の搭載量に比例するため、[[ITドカタ]]に配給されるしょぼい[[スペック]]の[[PC]]で動かしている開発時点では発覚しないことが多い。
  
[[8ビットパソコン]]の時代に一世風靡した[[MS-BASIC]]系では1分以上もザラで、時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀である。
+
[[8ビットパソコン]]の時代に一世風靡した[[MS-BASIC]]系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀であるが、冗長構成を完璧に組んだサーバー群では数十秒の停止でも[[フェイルオーバークラスター]]が発動したりと一大事に発展することも多い。
  
 
==関連項目==
 
==関連項目==

2014年8月6日 (水) 15:08時点における版

ストップ・ザ・ワールド英語:stop the world)とは、ガベージコレクションを搭載したプログラミング言語実行環境において、ガベージコレクション発動時にプログラムフリーズしたかのような状態になる現象のことである。ガベージコレクションが終わると何事も無かったかのようにプログラムは動きだす。

概要

ストップ・ザ・ワールドは、ガベージコレクションアルゴリズムの多くが、自動かつ漏れなくメモリを解放するためにはメインスレッドを停止した状態で実行する必要がある、ということが原因で発生する。

ストップ・ザ・ワールドは運用中のサーバーで発生すると監視室はパニック状態になる。Javaで書かれたプログラムを、メモリをモリモリ積んだサーバーで動かすと、メモリを食い尽くすまで長い時間がかかるため、忘れた頃に一気にガベージコレクションしようとして長時間のストップ・ザ・ワールドが発生するケースが多い。ハードディスクデフラグなどと同様に、ストップ・ザ・ワールドの停止時間は基本的にメモリの搭載量に比例するため、ITドカタに配給されるしょぼいスペックPCで動かしている開発時点では発覚しないことが多い。

8ビットパソコンの時代に一世風靡したMS-BASIC系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀であるが、冗長構成を完璧に組んだサーバー群では数十秒の停止でもフェイルオーバークラスターが発動したりと一大事に発展することも多い。

関連項目

参考文献