メインコンテンツへ
ソフトウェアスラッシング

仮想記憶のスラッシング(Thrashing)が発生している状態の説明として適切なものはどれか。

ア.ディスクの断片化が進み、ファイルの読み書きが遅くなった状態。
イ.メモリリークによって使用可能なメモリが徐々に減少する状態。
ウ.CPUの使用率が100%に達し、I/O待ちのプロセスがなくなった最高効率状態。
エ.ページフォルトが頻発し、ページの置換とロードにほとんどの時間が費やされCPU使用率が低下する。正解

解説

スラッシングは「引越しだけで1日が終わる」状態。ページを入れては出して、出しては入れてを繰り返すだけで仕事が全く進まない最悪のパターンです。

なぜ エ が正解か

スラッシングはページフォルトが非常に高頻度で発生し続ける状態です。 発生メカニズム: ① 物理メモリが不足してページフォルトが多発 ② OSがページの置換処理に追われる ③ I/O待ち(スワップ)が増えCPUが暇になる ④ OSがCPUを有効活用しようと新プロセスを追加 ⑤ さらにメモリが不足して①に戻る(悪循環) 対策: 多重度を下げる、ワーキングセットモデルを使う、物理メモリを増設するなど。

なぜ ア は間違いか

ディスクの断片化(Fragmentation)でファイル読み書きが遅くなる現象は「フラグメンテーション」の問題です。スラッシングとは別の話で、デフラグメンテーション(デフラグ)が対策になります。

なぜ イ は間違いか

使用可能メモリが徐々に減少するのは「メモリリーク(Memory Leak)」です。メモリリークは解放されないメモリが積み重なる問題であり、スラッシングのような「置換の嵐」とは異なる現象です。

なぜ ウ は間違いか

CPU使用率100%でI/O待ちがない状態は「CPUバウンド」の高負荷状態です。スラッシングはむしろCPU使用率が「低下」する逆説的な現象です——CPUが働けずI/O待ちにされているためです。

出典: AI生成問題(学習用)