online/offline機能を使うと数百ミリ秒オーダーで時間を食うので頻繁に使うのはつらい対象環境hostがXen、guestがLinux。OSをLinuxと表記する解決方法概要VMの負荷に応じてvCPU数増減に相当する処理をLinuxに追加する。同、負荷に応じてVMに与えるCPU時間を増減させる処理をXenに追加する。効果バックグラウンドで別の処理を動かしてvCPU数が2*pCPU数程度のマシン上でスレッド間同期処理が多かったりI/O頻度が高かったりする処理を動かすと性能が数十%上がった解決方法詳細linuxに手を入れて、カーネルから見えるCPUにfreezeという状態を作る。これはofflineに似ているが、vCPUのスケジュール対象にせず、かつ、外部割り込みも上がってこないようにするだけで、onlineとofflineの間のような状態。これはカスタムカーネルこれは数マイクロ秒単位で終わる各VMにおいて、個々のvCPUが実際に使ったCPU時間を定期的に記録する。online/offlineを模した処理をする実際に使ったCPU時間が少なければ、vCPUを所定の数だけfreezeする。それに加えてこの情報をXenに渡してVMに与えられるCPU時間のshareを小さくする*1上記値が多ければ、freeze状態のvCPUを所定の数だけunfreezeする。それに加えてこの情報をXenに渡して、VMに与えられるCPU時間のshareを大きくするなぜlinux上のvCPUのfreeze/unfreezeだけでなくXenにおけるVMごとのshare値を変えているかというとから見ると、Xenからはlinuxのfreeze/unfreeze状態を直接観測できないから感想KVM(あるいは今現在のXen)だとどうなるんだろう。手を入れなきゃいけないところが少なくなりそう。latency低すぎでは。何これバックグラウンドで動いているVMのデータも欲しい。2017/8/12に2つ目の問題について更新しました。両...2017-04-12さくらVPSから無期限無料で使えるGCEインスタンスへ乗り換えた私は、さくらVPS(1GBプラン)を数年間使ってきました。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!satoru_takeuchiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。