Mam maszynę z Intel(R) Xeon(R) CPU E5520
widocznymi 16 rdzeniami logicznymi (8 z HT). Jeśli uruchomię coś do zjedzenia Czas procesora (jednowątkowy), poprawnie poprawnie zgłasza 100% użycia procesora dla procesu, ale tylko około 3-4% całkowitego zużycia.
Cpu(s): 3.6%us, 0.0%sy, 0.0%ni, 96.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.1%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1567 www 20 0 65632 84 4 R 100 0.0 0:05.96 burnMMX
Z pewnością zgłoszone użycie powinno wynosić ~ 6,25% (1 z 16 rdzeni).
- Czy to nieprawda, ponieważ jest to maszyna wirtualna?
- Jak mogę obliczyć prawidłową wartość?
atop
zmienić górę, aby zgłosić użycie każdego procesora osobno (naciskając1
)Odpowiedzi:
top
w podsumowaniu wykorzystanie raportów w stosunku do procesora z dodanymi wszystkimi rdzeniami. Z drugiej strony, gdy spojrzysz na listę procesów, najwyższe raporty procentowe odnoszą się do jednego rdzenia (rzeczywistego lub HT). Spróbuj uruchomić proces z 4 wątkami, które mogą pochłonąć 4 rdzenie procesora, znajdziesz go przy użyciu 400% procesora.Nie wiem dlaczego, ale tak
top
działa na wszystkich systemach Linux, które widziałem.źródło
Najczęściej
top
działa domyślnie w trybie „Irix”, tak jak to opisano. Jeśli chcesz uzyskać procent całkowitych możliwości procesora (tj. Gdy suma możliwego użycia procesora sumuje się do 100%, a nie cpu_cores_number * 100%), po prostu przełącz tryb „Irix”, naciskającI
.źródło