環境

  • AWS EC2 ts.xlarge

背景

t2.xlargeインスタンスで、1日以上かかるバッチプログラムを実行しています。
プログラム開始してから数時間経った後の進捗率は、プログラム開始直後の約2~3倍でした。

進捗率が低いときの、CPUCreditBalanceのグラフは、以下の通りです。
画像の説明をここに入力
"25"付近を上下しています。"0"にはなっていません。

グラフの範囲を3日にしたのが、以下の図です。
画像の説明をここに入力
プログラムが遅くなったタイミングと、CPUCreditBalanceが"1300"から降下して"25"になったタイミングは、同じでした。

以上のことから、「プログラムが遅くなった原因はCPUCreditBalanceだ」と判断しました。

質問

CPUCreditBalanceが"0"にならないのは、なぜでしょうか?
また、CPUCreditBalanceが"25"で遅くなるのは、なぜでしょうか?

私は「CPUCreditBalanceが"0"になると、遅くなる」と考えていたので、上記の現象を疑問に思いました。