ITパスポート 2020年 秋期 問59
問題文
仮想記憶を利用したコンピュータで、主記憶と補助記憶の間で内容の入替えが頻繁に行われていることが原因で処理性能が低下していることが分かった。この処理性能が低下している原因を除去する対策として、最も適切なものはどれか。ここで、このコンピュータの補助記憶装置は1台だけである。
選択肢
ア:演算能力の高いCPUと交換する。
イ:仮想記憶の容量を増やす。
ウ:主記憶装置の容量を増やす。(正解)
エ:補助記憶装置を大きな容量の装置に交換する。
🔒 解説は解答すると表示されます
仮想記憶で入替えが頻繁に起きて処理性能が低下している問題【ITパスポート 解説】
正解の理由
仮想記憶とは、主記憶(RAM:Random Access Memory。作業中のデータを置く一時的な記憶)と補助記憶(ディスクなどの長期保存用の記憶装置)を組み合わせて、あたかも大きなメモリがあるかのように扱う仕組みです。主記憶に収まりきらないデータは補助記憶に移し、必要になったら主記憶と入替え(ページングやスワップ)を行います。
入替えが頻繁に起きると、CPU がデータ待ちで停止する時間が増え、処理性能が大きく低下します。この状態は「スラッシング(thrashing)」と呼ばれます。入替えの頻度を下げるには、まず主記憶の容量を増やして、そもそも補助記憶への退避が少なくなるようにすることが最も直接的で効果的です。したがって、最も適切な対策は主記憶装置の容量を増やす、つまり ウ です。
解法ステップ
- 症状確認:主記憶と補助記憶の間で入替えが頻繁=ページフォールト(必要なページが主記憶にない)やスラッシングを疑う。
- 原因理解:頻繁な入替えは主記憶不足が典型的原因。補助記憶は主記憶より遥かに遅いため、入替えが多いと性能低下。
- 対策検討:入替えを減らすには(A)主記憶を増やす、(B)補助記憶を高速化する、(C)仮想記憶設定を変える、などが考えられる。
- 選択肢照合:設問の選択肢の中で直接的に入替え頻度を減らすのは主記憶増設(ウ)。
- 結論:主記憶増設が最適解。
選択肢別の誤答解説
-
ア: 演算能力の高いCPUと交換する。
- 誤り。CPU が速くても、データが主記憶にないために補助記憶を待つ時間が主なボトルネックであれば、CPU を速くしても待ち時間はほとんど改善されません。CPU と記憶装置の速度は別の問題です。
-
イ: 仮想記憶の容量を増やす。
- 誤り。「仮想記憶の容量を増やす」は一般に補助記憶上のスワップ領域(仮想メモリ用の領域)を増やすことを意味します。これは一時的に扱える総メモリ空間を増やしますが、補助記憶への入替えが増えるだけで、入替え頻度(=IO待ち)はむしろ増え、性能はさらに悪化する可能性があります。
-
ウ: 主記憶装置の容量を増やす。
- 正答。主記憶を増やすと、プログラムやデータを主記憶に長く置けるため、補助記憶との入替え(ページング)が減り、処理性能が改善します。
-
エ: 補助記憶装置を大きな容量の装置に交換する。
- 誤り。容量を大きくしても入替え回数は減りません。入替えの原因は「主記憶に入りきらないこと」であり、補助記憶の容量ではなく主記憶の容量や補助記憶の速度(ディスクのアクセス速度)が問題です。補助記憶を高速なもの(例:HDD→SSD)に交換すれば遅延は減りますが、選択肢は「大きな容量」に言及しており速度改善を意味していないため不適切です。
よくある誤解
-
「仮想記憶を大きくすればメモリ不足は解決する」
- 容量を増やすと使える総領域は増えますが、補助記憶は主記憶より遥かに遅いため、頻繁に入替えが発生する状況では性能は改善しません。むしろ遅くなることもあります。
-
「CPUを速くすれば全部速くなる」
- CPU は計算速度を上げますが、データ読み書き(記憶装置の入出力)を待つ時間が支配的な場合、CPUの改善効果は限定的です。ボトルネックを見極めることが重要です。
-
「補助記憶の容量が大きければ良い」
- 容量ではなく速度が性能に関係します。入替えの回数を減らすには主記憶増設、入替え一回あたりの遅延を減らすには補助記憶の高速化(例:HDD→SSD)が必要です。
補足コラム
- スラッシング(thrashing):主記憶が不足していて、OS が頻繁にページング(主記憶と補助記憶の入替え)を行う状態。CPU はページ読み込みを待つ時間が多くなり、実効性能が大きく低下します。
- ページング/スワップ:主記憶を固定長の「ページ」に分け、使われないページを補助記憶に移す仕組みをページングと呼びます。スワップは似た意味で、プロセス全体やページの移動をさします。
- 実務的な対応例:まずは不要なアプリを閉じる、常駐ソフトを減らす、メモリ使用状況を監視する(タスクマネージャやtopコマンド)。それでも不足なら物理メモリを増設するのが効率的です。補助記憶の高速化(HDD→SSD)も有効ですが、設問の選択肢には該当しません。
FAQ
Q1: どれくらい主記憶を増やせばいいですか?
A1: 実際の必要量は使用するアプリや同時に動くプロセス次第です。まずは現在のメモリ使用率とページフォールト率を確認します。常時メモリが高使用(例:80%以上)でページフォールトも多ければ、増設を検討します。一般的には現状の倍や、アプリの推薦容量を目安にします。
A1: 実際の必要量は使用するアプリや同時に動くプロセス次第です。まずは現在のメモリ使用率とページフォールト率を確認します。常時メモリが高使用(例:80%以上)でページフォールトも多ければ、増設を検討します。一般的には現状の倍や、アプリの推薦容量を目安にします。
Q2: SSD に換えれば今回の問題は解決しますか?
A2: SSD は HDD より高速なので、入替え一回あたりの遅延は減ります。ただし入替え回数自体を減らすわけではありません。最も確実に入替え頻度を下げるのは主記憶増設です。コストや導入の容易さでSSD換装を先に行うことも現実的な選択肢です。
A2: SSD は HDD より高速なので、入替え一回あたりの遅延は減ります。ただし入替え回数自体を減らすわけではありません。最も確実に入替え頻度を下げるのは主記憶増設です。コストや導入の容易さでSSD換装を先に行うことも現実的な選択肢です。
Q3: ソフト設定で解決できますか?
A3: 一時的には、不要プロセスを停止したり、常駐プログラムを減らすことでメモリ負荷を下げられます。長期的には物理メモリ増設が根本解決になります。
A3: 一時的には、不要プロセスを停止したり、常駐プログラムを減らすことでメモリ負荷を下げられます。長期的には物理メモリ増設が根本解決になります。
関連キーワード: 仮想記憶、スラッシング、ページング、主記憶(RAM)、補助記憶(ディスク)、スワップ領域、メモリ増設

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

