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