GNU/Linux >> Belajar Linux >  >> Linux

Atas mengatakan 100% CPU digunakan, tetapi 50% core menganggur?

Untuk memperluas jawaban Max:Prosesor dengan hyperthreading melaporkan dua inti ke sistem operasi ketika sebenarnya ada satu inti fisik. Linux memiliki 4 inti, tetapi prosesor Anda memiliki 2 inti fisik.

Inti fisik memiliki kemampuan penjadwalan lanjutan dan beberapa transistor tambahan untuk menangani utas kedua, tetapi untuk banyak aplikasi intensif prosesor, hyperthreading tidak memberikan manfaat yang sebenarnya.

Di bidang saya, kami membandingkan aplikasi yang akan berjalan di sistem dan menonaktifkan hyperthreading di BIOS jika menghambat kinerja.

EDIT:

Jika saya memuat setengah inti menggunakan cat /dev/urandom > /dev/null inilah yang saya dapatkan pada Xeon modern yang menjalankan CentOS 6:

top - 19:32:38 up 1 day,  8:17,  3 users,  load average: 12.13, 8.73, 4.07
Tasks: 694 total,  13 running, 681 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 50.4%sy,  0.0%ni, 49.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49552656k total,  2693452k used, 46859204k free,   186448k buffers
Swap: 15999992k total,        0k used, 15999992k free,   469560k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                           
21193 root      20   0 98.5m  560  452 R 100.0  0.0   6:23.31 cat                                                                                               
21194 root      20   0 98.5m  560  452 R 100.0  0.0   6:22.76 cat                                                                                               
21195 root      20   0 98.5m  560  452 R 100.0  0.0   6:22.38 cat                                                                                               
21201 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.98 cat                                                                                               
21202 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.62 cat                                                                                               
21203 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.36 cat                                                                                               
21206 root      20   0 98.5m  560  452 R 100.0  0.0   6:20.43 cat                                                                                               
21187 root      20   0 98.5m  560  452 R 99.6  0.0   6:24.45 cat                                                                                                
21204 root      20   0 98.5m  560  452 R 99.6  0.0   6:21.03 cat                                                                                                
21205 root      20   0 98.5m  560  452 R 99.6  0.0   6:20.73 cat                                                                                                
21213 root      20   0 98.5m  560  452 R 99.6  0.0   6:20.09 cat                                                                                                
21214 root      20   0 98.5m  560  452 R 99.6  0.0   6:19.70 cat

Sudah lebih dari empat tahun, dan untuk bersikap adil, saya benar-benar lupa tentang pertanyaan ini dan hanya kembali karena saya melihat bahwa saya telah menerima Pertanyaan Penting lencana untuk itu.

Masalahnya adalah tangensial terkait dengan hyperthreading, tetapi seperti yang terus saya tunjukkan kepada responden, itu tidak penyebab pemalasan 50%.

Penyebabnya ada hubungannya dengan konfigurasi kutu dinamis kernel yang tidak tepat. Saya menjalankan Gentoo dan menggunakan kernel yang dibuat khusus. Setelah saya memutakhirkan kernel, sekitar pertengahan tahun 2012, masalah teratasi dengan sendirinya.


Linux
  1. Jadi Apa Itu Core Cpu Logis (Berlawanan dengan Core Cpu Fisik)?

  2. Deteksi Proses Makan Cpu Tanpa :Top, Htop, Ps?

  3. Memecahkan masalah penggunaan CPU yang tinggi di Windows Server

  1. Temukan 10 Proses Berjalan Teratas berdasarkan Memori dan Penggunaan CPU

  2. Dapatkan penggunaan CPU dalam skrip shell?

  3. ps dan top memberikan penggunaan CPU yang berbeda

  1. kipmi0 IPMI Kernel Helper 99% / 100% Penggunaan CPU Tinggi (Tapi Rata-rata Beban Rendah)

  2. Tampilkan lima proses konsumsi CPU teratas dengan `ps`

  3. Apakah ada cara untuk membatasi konsumsi CPU secara keseluruhan?