Memahami penggunaan cpu

1

Saya punya kode sederhana ini

int main()
{
    while (1){}
    return 0;
}

Ketika saya menjalankan kode ini di Windows, mengapa penggunaan cpu saya hanya 25%? Namun, ketika saya menjalankannya di Linux, penggunaan cpu saya adalah 100%

Saya memiliki 4 core pada mesin Windows saya, dan saya memiliki 12 core pada mesin Linux saya.

Vivandiere
sumber

Jawaban:

4

Itu karena alat yang Anda gunakan. Pada Windows task managerpenggunaan CPU dihitung sebagai total dari semua sumber daya CPU sedangkan topmenampilkan penggunaan CPU sebagai bagian dari inti CPU individu.

Penjadwalan proses internal sangat mirip, hanya saja ditampilkan berbeda.

Julie Pelletier
sumber
Terima kasih. Bagaimana cara topmemutuskan inti CPU untuk dilihat?
The Vivandiere
Ini relatif terhadap inti tugas yang sedang berjalan.
Julie Pelletier
Terima kasih. Jika saya memiliki program multi-utas, apakah masih melihat satu inti saja?
The Vivandiere
@FirstJens topharus menampilkan masing-masing inti seperti CPUX, misalnya CPU0 states: 0.0% user, ...dan CPU1 states: 0.0% user,..., angkanya adalah inti CPU fisik yang dijalankan oleh program pada saat itu, apakah Anda toptidak menampilkan inti?
txtechhelp
@JuliePelletier, the internal process scheduling is quite similarsebenarnya, sangat berbeda antara sistem Windows dan * nix; bagian dari alasan mengapa topdan taskmanagerlakukan tampilan berbeda :)
txtechhelp