「ストップ・ザ・ワールド」を編集中

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

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

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

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: