ホーム > システムアーキテクト試験 > 2012年
システムアーキテクト試験 2012年 午前2 問19
ガーベジコレクションを行っている間は、全てのアプリケーションの実行が停止するWebアプリケーションサーバがある。Webアプリケーションサーバの仕様が次の場合,ガーベジコレクションによってアプリケーションの実行が停止している時間はCPU稼働時間のうちの何%となるか。ここで、WebアプリケーションサーバのCPU稼働時間はガーベジコレクションの処理時間とアプリケーションの処理時間から成り、その他の要因については考慮しないものとする。

ア:2
イ:2.5(正解)
ウ:6.25
エ:8.33
解説
ガーベジコレクションによるアプリケーション停止時間の割合計算【午前2 解説】
要点まとめ
- 結論:ガーベジコレクションによる停止時間はCPU稼働時間の約2.5%である。
- 根拠:1回100msのGCが5秒ごとに発生し、CPU使用率80%を考慮して計算する。
- 差がつくポイント:CPU使用率を考慮した上で、GC時間の割合を正しく求めることが重要。
正解の理由
ガーベジコレクション(GC)は1回100ミリ秒で5秒に1回発生します。1サイクルの合計時間は5秒(5000ミリ秒)です。
GC時間の割合は、単純に100ms ÷ 5000ms = 0.02(2%)ですが、CPU使用率が常に80%なので、CPU稼働時間は5000msのうち4000ms(80%)です。
したがって、GC時間100msはCPU稼働時間4000msのうちの割合となり、100ms ÷ 4000ms = 0.025(2.5%)となります。
これがCPU稼働時間に対するGC停止時間の正しい割合です。
GC時間の割合は、単純に100ms ÷ 5000ms = 0.02(2%)ですが、CPU使用率が常に80%なので、CPU稼働時間は5000msのうち4000ms(80%)です。
したがって、GC時間100msはCPU稼働時間4000msのうちの割合となり、100ms ÷ 4000ms = 0.025(2.5%)となります。
これがCPU稼働時間に対するGC停止時間の正しい割合です。
よくある誤解
CPU使用率を考慮せず、単純に全体時間に対するGC時間の割合を求めてしまうことが多いです。
また、GC頻度や時間の単位を混同して計算ミスをすることもあります。
また、GC頻度や時間の単位を混同して計算ミスをすることもあります。
解法ステップ
- GCの1回あたりの処理時間を確認(100ミリ秒)。
- GCの発生頻度を確認(5秒に1回)。
- 1サイクルの合計時間を計算(5秒=5000ミリ秒)。
- CPU使用率80%を考慮し、CPU稼働時間を計算(5000ms × 0.8 = 4000ms)。
- GC時間のCPU稼働時間に対する割合を計算(100ms ÷ 4000ms = 0.025)。
- 割合をパーセント表記に変換(0.025 × 100 = 2.5%)。
選択肢別の誤答解説
- ア: 2%
CPU使用率を考慮せず、全体時間に対するGC時間の割合を計算した結果。CPU稼働時間基準ではないため誤り。 - イ: 2.5%
CPU使用率を考慮した正しい計算結果。 - ウ: 6.25%
GC時間を5秒ではなく、CPU稼働時間の80%を考慮せずに誤った計算をした可能性がある。 - エ: 8.33%
GC時間や頻度の単位を誤解し、過大評価した計算結果。
補足コラム
ガーベジコレクションはメモリ管理の自動化に不可欠ですが、処理中はアプリケーションが停止することがあります。
この停止時間を最小化するために、最近のJVMやランタイムでは並列GCやインクリメンタルGCなどの技術が用いられています。
CPU使用率やGC頻度を正確に把握し、パフォーマンスチューニングに役立てることが重要です。
この停止時間を最小化するために、最近のJVMやランタイムでは並列GCやインクリメンタルGCなどの技術が用いられています。
CPU使用率やGC頻度を正確に把握し、パフォーマンスチューニングに役立てることが重要です。
FAQ
Q: なぜCPU使用率を考慮する必要があるのですか?
A: CPU使用率は実際にCPUが稼働している時間の割合を示すため、GC時間の割合を正確に求めるには必須です。
A: CPU使用率は実際にCPUが稼働している時間の割合を示すため、GC時間の割合を正確に求めるには必須です。
Q: GC時間が長いとどんな影響がありますか?
A: アプリケーションの応答性が低下し、ユーザ体験が悪化する可能性があります。
A: アプリケーションの応答性が低下し、ユーザ体験が悪化する可能性があります。
Q: GC頻度が高い場合はどうなりますか?
A: GCによる停止時間の合計が増え、CPU稼働時間に占める割合も増加します。
A: GCによる停止時間の合計が増え、CPU稼働時間に占める割合も増加します。
関連キーワード: ガーベジコレクション, CPU使用率, Webアプリケーションサーバ, パフォーマンス計測, メモリ管理