「ストップ・ザ・ワールド」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| 9行目: | 9行目: | ||
ストップ・ザ・ワールドは、[[ガベージコレクション]]の[[アルゴリズム]]の多くが、自動かつ漏れなく[[メモリ]]を解放するためには[[メインスレッド]]を停止した状態で実行する必要がある、ということが原因で発生する。 | ストップ・ザ・ワールドは、[[ガベージコレクション]]の[[アルゴリズム]]の多くが、自動かつ漏れなく[[メモリ]]を解放するためには[[メインスレッド]]を停止した状態で実行する必要がある、ということが原因で発生する。 | ||
==パソコン== | |||
[[8ビットパソコン]]の時代に一世風靡した[[MS-BASIC]]系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀である。 | [[8ビットパソコン]]の時代に一世風靡した[[MS-BASIC]]系では1分以上もザラであり時には5分以上のストップ・ザ・ワールドも珍しくなかったが、最近ではそこまで凄いのは稀である。 | ||
==サーバー== | |||
ストップ・ザ・ワールドは運用中の[[サーバー]]で発生すると[[監視室]]はパニック状態になる。 | ストップ・ザ・ワールドは運用中の[[サーバー]]で発生すると[[監視室]]はパニック状態になる。 | ||
とくに[[冗長構成]]を完璧に組んだ[[サーバー]]群では数十秒の停止でも[[フェイルオーバークラスター]]が発動したりと一大事に発展することも多い。 | とくに[[冗長構成]]を完璧に組んだ[[サーバー]]群では数十秒の停止でも[[フェイルオーバークラスター]]が発動したりと一大事に発展することも多い。 | ||
| 22行目: | 22行目: | ||
一方、[[ITドカタ]]に配給されるショボい[[スペック]]の[[PC]]、いわゆる[[社畜PC]]での開発時点ではメモリ不足により頻繁かつ小規模なガベージコレクションが行われるため問題発覚しないことが多い。[[単体テスト]]や[[結合テスト]]はやっても長時間の[[耐久テスト]]はしないことが多いのも問題の原因だ。 | 一方、[[ITドカタ]]に配給されるショボい[[スペック]]の[[PC]]、いわゆる[[社畜PC]]での開発時点ではメモリ不足により頻繁かつ小規模なガベージコレクションが行われるため問題発覚しないことが多い。[[単体テスト]]や[[結合テスト]]はやっても長時間の[[耐久テスト]]はしないことが多いのも問題の原因だ。 | ||
==SSD== | |||
また、[[プログラミング]]だけではなく、近年[[ストレージ]]として広く普及した[[SSD]]においても未使用領域を確保するために[[ガベージコレクション]]が行われているが、書込み処理が集中し[[ガベージコレクション]]が追いつかなくなるとストップ・ザ・ワールドのような状態に陥る。これを[[プチフリ]]という。近代的な[[SSD]]では[[プチフリ]]を抑制するために[[オーバープロビジョニング領域]]を搭載している製品が多い。 | また、[[プログラミング]]だけではなく、近年[[ストレージ]]として広く普及した[[SSD]]においても未使用領域を確保するために[[ガベージコレクション]]が行われているが、書込み処理が集中し[[ガベージコレクション]]が追いつかなくなるとストップ・ザ・ワールドのような状態に陥る。これを[[プチフリ]]という。近代的な[[SSD]]では[[プチフリ]]を抑制するために[[オーバープロビジョニング領域]]を搭載している製品が多い。 | ||