AWSのm3.mediumか何かを使ってサービスを運用していた時、とにかくCPU利用率の【st】の項目が50%近くになっていて、速度が出ない時期がありました。で、このstの項目の意味を調べてみました。
■stの数値が上がる時はどういう時
調べてみると、以下の様なパターンがあるようですね。仮想化されているサーバで意味を持ってくる数値とのこと。
▼仮想化されているサーバがCPUの要求しているのに、他の仮想化されているサーバが物理リソース食いつぶして待たされている
▼CPU利用率のしきい値がホスト側で設定されていて、指定された利用率以上にCPUを利用できない状態になっている
今回は、AWSのm3.mediumインスタンスということで、仮想CPUが1個に制限されていました。そのため、たくさん並列でプログラムを動かそうとして、stの値が上がっていた。という結論になりました。
対応としては、c3.largeにインスタンスを変更、CPUを沢山使えるサーバへ移行しました。すると、stの値は0%になりました。
■stの意味は?
st = Stolen Time の略らしいですね。カーネル2.6.11あたりから実装されたんだそうです。
パフォーマンスが出ない時は調べてみると良いかもしれません。