3つのGCを使い分けてCPUの使用率をコントロールする 「GCの時間が長くてシステムが反応してくれない……もっと短くならないかな?」 「GCが始まると、CPUが占有されちゃって、ほかのプロセスの動きが重くなるんだよね……」 「GCの停止時間が多少長くなってもいいから、ほかのプロセスへの影響を軽くできないかな?」 JVMを使用しているシステムでは、そんな話を耳にします。GCが起きていることまでは把握できているのですが、それからどうしたら良いのかわからないのです。 GCは、JVMの内部でGCスレッドがCPUに処理されることで行われています。そのため、GCが行われている間はCPUの使用率が増加してしまうのです。 GCをスレッドの観点で見ると、以下の3種類があります。 シリアルGC パラレルGC コンカレントGC これらの違いを把握すれば、CPUの使用率とアプリケーションの停止時間をコントロールす