Saya menemukan bahwa meskipun dimungkinkan (dan bisa dibilang lebih cepat) di VirtualBox (pengalaman saya adalah dengan versi 5.1.0) untuk mengalokasikan vCPUs ke VM berdasarkan pada prosesor logis, seseorang dapat mengalami masalah di dalam OS tamu ketika berjalan pada beban tinggi . Dalam kasus saya, Windows 2012 R2 VM dengan 12 vCPU pada 8 inti Ubuntu 16.04 host (yang melaporkan 16 prosesor logis) akan BSOD selama beban CPU yang tinggi dengan pesan kesalahan DPC_WATCHDOG_VIOLATION. Analisis minidump menggunakan osronline.com menunjukkan e1g6032e.sys (pengandar jaringan Intel 100/1000 yang berasal dari Windows) menjadi penyebab pelanggaran.
Ini membuat saya percaya bahwa waktu di dalam OS tamu dipengaruhi secara negatif ketika mengalokasikan vCPU berdasarkan kapasitas prosesor logis dan menjalankan VM pada beban tinggi untuk periode yang lama. Dalam kasus saya, 100% beban CPU di dalam Windows VM selama beberapa menit akan menghasilkan BSOD. Setelah mengurangi jumlah vCPU menjadi 8 (yang sesuai dengan jumlah inti fisik host), Windows VM tidak BSOD lagi di bawah situasi beban tinggi serupa. The dokumentasi online dari VirtualBox mengatakan kita harus melakukan ini, tetapi tidak menawarkan alasan apapun.
Di lingkungan saya ada juga dua VM Ubuntu lain yang berjalan, masing-masing dengan 8 vCPU mereka sendiri. Namun beban pada mereka sangat minim pada saat masalah BSOD Windows VM.