差分

ナビゲーションに移動 検索に移動

ストップ・ザ・ワールド

794 バイト追加, 2015年7月24日 (金) 03:10
編集の要約なし
'''ストップ・ザ・ワールド'''([[英語]]:stop the world)とは、[[ガベージコレクション]]を搭載した[[プログラミング言語]]や[[実行環境]]において、[[ガベージコレクション]]発動時に[[プログラム]]や[[パソコン]]が[[フリーズ]]したかのような状態になる現象のことである。 [[ガベージコレクション]]が終わると何事も無かったかのように[[プログラム]]は動きだす。
==概要==
ストップ・ザ・ワールドは、[[ガベージコレクション]]の[[アルゴリズム]]の多くが、自動かつ漏れなく[[メモリ]]を解放するためには[[メインスレッド]]を停止した状態で実行する必要がある、ということが原因で発生する。
===パソコン===[[8ビットパソコン]]の時代に一世風靡した[[MS-BASIC]]系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀である。 ===サーバー===ストップ・ザ・ワールドは運用中の[[サーバー]]で発生すると[[監視室]]はパニック状態になる。とくに[[冗長構成]]を完璧に組んだ[[サーバー]]群では数十秒の停止でも[[フェイルオーバークラスター]]が発動したりと一大事に発展することも多い。 [[Java]]で書かれた[[プログラム]]を、[[メモリ]]をモリモリ積んだ[[サーバー]]で動かすと、[[メモリ]]を食い尽くすまで長い時間がかかるため、忘れた頃に一気に[[ガベージコレクション]]しようとして長時間のストップ・ザ・ワールドが発生するケースが多い。 [[ハードディスク]]の[[デフラグ]]などと同様に、ストップ・ザ・ワールドの停止時間は基本的にの時間が大容量なほど長時間になるのと同様に、ストップ・ザ・ワールドの停止時間も基本的に[[メモリ]]の搭載量に比例するため、[[ITドカタ]]に配給されるしょぼいに配給されるショボい[[スペック]]の[[PC]]で動かしている開発時点では発覚しないことが多い。で動かしている開発時点ではメモリ不足により頻繁かつ小規模なガベージコレクションが行われるため発覚しないことが多い。
===SSD===また、[[8ビットパソコンプログラミング]]の時代に一世風靡しただけではなく、近年[[MS-BASICストレージ]]系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀である。ただ、として広く普及した[[冗長構成SSD]]を完璧に組んだサーバー群では数十秒の停止でもにおいても未使用領域を確保するために[[フェイルオーバークラスターガベージコレクション]]が発動したりと一大事に発展することも多い。が行われているが、書込み処理が集中し[[ガベージコレクション]]が追いつかなくなるとストップ・ザ・ワールドのような状態に陥る。これを[[プチフリ]]という。近代的な[[SSD]]では[[プチフリ]]を抑制するために[[オーバープロビジョニング領域]]を搭載している製品が多い。
==関連項目==
匿名利用者

案内メニュー