Di dalam dunia virtualisasi, dikenal ada suatu kasus yang biasa disebut dengan CPU Steal Time, dimana sebuah kondisi processor mengalami antrian dalam memproses task pada CPU sampai dengan kondisi CPU tersebut siap digunakan oleh sebuah virtual machine. Jika di dalam sebuah mesin dengan virtualisasi berisikan banyak virtual machine, jika ketersediaan processor tidak memadai maka kemungkinan terjadi CPU Steal Time lebih besar. Untuk lebih jelasnya mari memahami CPU Steal Time itu seperti apa.

Untuk mendeteksi CPU Steal Time bisa menggunakan aplikasi monitoring “top” yang sudah disediakan di dalam sistem operasi linux seperti CentOS, ubuntu, dll.

Memahami CPU Steal Time

Bisa diperhatikan untuk tampilan monitoring “top” diatas dan pada tanda panah merah, jika di dalam virtual machine tersebut prosentasi 0.0 st terdapat angka maka kemungkinan virtual machine tersebut mengalami CPU Steal Time.

Perlu di ingat bahwa dalam virtualisasi sebenarnya adalah CPU, RAM, Disk adalah satu dan digunakan oleh beberapa virtual machine sehingga terdapat kemungkinan satu atau dua virtual machine mengalami CPU Steal Time.

Penyebab terjadinya CPU Steal Time ?

Adanya proses yang menggunakan resource CPU melebihi dari kapasitas dari CPU yang dialokasikan. Sebagai contoh sebuah virtual machine dialokasikan 4 vCPU namun terdapat aplikasi yang menggunakan lebih dari 4 vCPU maka biasanya akan terjadi CPU Steal Time.

Resource CPU yang ada pada server utama sudah habis digunakan oleh semua virtual machine pada server tersebut sehingga mengakibatkan perebutan kekuasaan CPU.

Apa efek ketika terjadi CPU Steal Time ?

Ketika terjadi CPU Steal Time maka bisa dipastikan bahwa akan terjadinya

  • Slow I/O (menurunya kinerja input dan ouput pada media penyimpanan).
  • Laman website akan lama loadingnya.
  • Bertambahnya waktu dalam proses query database.
  • Bertambahnya waktu dalam proses pelaporan sistem (report).
  • Bertambahnya antrian sebuah proses karena adanya CPU Steal Time.
  • Bertambahnya biaya untuk menambah server karena terjadinya CPU Steal Time yang harusnya untuk menyelesaikan process yang bertumpuk.

Indikator CPU Steal Time bahaya atau tidak

Ketika prosentasi pada CPU Steal Time masih dibawah 10% maka bisa dikatakan semuanya masih aman terkendali, namun jika sudah melebihi dari 10% maka bisa dipastikan aplikasi / proses pada server akan mengalami kelambatan semuanya.

Cara memperbaiki CPU Steal Time

  • Dengan melakukan restart pada virtual machine yang mengalam CPU Steal Time atau memindahkan virtual machine tersebut pada server yang lain sehingga mengurangi resiko CPU Steal Time pada virtual machine yang lain.
  • Melakukan manajemen dan limitasi pada setiap virtual machine, sehingga tidak bisa menggunakan CPU secara berlebihan dan melebihi dari jumlah CPU yang dialokasikan.
  • Melakukan upgrade pada server utama, seperti menambah kapasitas CPU (jumlah socket misalnya dari 1 socket menjadi 2 socket) demikian juga penambahan pada RAM dan DISK untuk mengurangi resiko bottleneck.

Dengan melakukan monitoring secara berkala terhadap virtual machine yang ada maka akan mengurangi resiko CPU Steal Time yang mengakibatkan lambatnya aplikasi yang ada pada virtual machine tersebut.