topコマンドとかvmstatの【st】の項目の意味

topコマンドとかvmstatの【st】の項目について 仮想化

topコマンドとかvmstatの【st】の項目について

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あたりから実装されたんだそうです。

パフォーマンスが出ない時は調べてみると良いかもしれません。