Kiedy uczyłem się o obciążeniu procesora, dowiedziałem się, że zależy to od liczby rdzeni. Jeśli mam 2 rdzenie, obciążenie 2 da 100% wykorzystania procesora.
Więc próbowałem znaleźć rdzenie. (Już wiem, że system ma 2 rdzenie, 4 wątki, więc 2 rdzenie wirtualne Sprawdź tutaj o procesorze ). Więc uruchomiłem cat /proc/cpuinfo
Który dał mi
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping : 1
microcode : 0x17
cpu MHz : 774.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips : 3591.40
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping : 1
microcode : 0x17
cpu MHz : 1600.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips : 3591.40
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping : 1
microcode : 0x17
cpu MHz : 800.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips : 3591.40
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping : 1
microcode : 0x17
cpu MHz : 774.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 2
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips : 3591.40
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
Teraz jestem całkowicie zdezorientowany. Pokazuje 4 procesory z 2 rdzeniami procesora. Czy ktoś może wyjaśnić ten wynik?
Kiedy moje obciążenie procesora wyniosło 3,70, czy to maksymalne obciążenie? W tym czasie procesor wynosił <50%.
Co z doładowaniem turbo? Czy wszystkie rdzenie są wzmocnione turbo, czy tylko fizycznie?
Jakakolwiek metoda w Ubuntu, aby uzyskać bieżącą częstotliwość procesora, aby sprawdzić, czy procesor jest w trybie Turbo Boost, czy nie?
Obciążenie wynosiło 3,70 około 100%. Ale użycie procesora nie było w 100% ze względu na czas reakcji We / Wy. Nie oznacza to, że urządzenie IO będzie działać z maksymalną prędkością, ale urządzenie io będzie w 100% zajęte, co czasami wpływa na aplikacje korzystające z IO np .: muzyka może się zepsuć.
core id
). Tophysical id
daje ci chip (tak myślę). Tutaj wynosi 0 dla wszystkich procesorów, więc masz tylko jeden układ.Odpowiedzi:
Słowa „CPU”, „procesor” i „rdzeń” są używane w nieco mylący sposób. Odnoszą się do architektury procesora. Rdzeń jest najmniejszą niezależną jednostką, która implementuje procesor ogólnego przeznaczenia; procesor to zbiór rdzeni (w niektórych systemach ARM procesor to zbiór klastrów, które same są zespołami rdzeni). Układ może zawierać jeden lub więcej procesorów (układy x86 zawierają pojedynczy procesor, w tym sensie edytora tekstu ).
Hyperthreading oznacza, że niektóre części rdzenia są zduplikowane. Rdzeń z hiperwątkiem jest czasem przedstawiany jako zestaw dwóch „wirtualnych rdzeni” - co oznacza, że nie każdy wirtualny jest wirtualny, ale że liczba mnoga jest wirtualna, ponieważ tak naprawdę nie są to osobne rdzenie i czasami będą musiały poczekać, aż drugi rdzeń będzie korzystanie z części wspólnej.
Jeśli chodzi o oprogramowanie, istnieje tylko jedna koncepcja, która jest przydatna prawie wszędzie: pojęcie równoległych wątków wykonania. W większości podręczników oprogramowania terminy CPU i procesor oznaczają dowolny element sprzętu, który wykonuje kod programu. Pod względem sprzętowym oznacza to jeden rdzeń lub jeden wirtualny rdzeń z hiperwątkiem.
W ten sposób
top
pokazuje 4 procesory, ponieważ można jednocześnie wykonywać 4 wątki./proc/cpuinfo
ma 4 wpisy, po jednym dla każdego procesora (w tym sensie). Teprocessor
liczby (które liczba wpisów w ) odpowiadają te 4 nici.cpuNUMBER
/sys/devices/system/cpu
/proc/cpuinfo
jest jednym z niewielu miejsc, w których można uzyskać informacje o tym, jaki sprzęt implementuje te wątki wykonania:oznacza, że
cpu0
jest to jeden z 4 wątków w składniku fizycznym (procesorze) numer 0, i który znajduje się w rdzeniu 0 wśród 2 w tym procesorze.źródło
Once my cpu load was 3.70, Is this maximum load? Still at that time cpu was at <50%.
,What about turbo boost ? Are all cores are turbo boosted or only physical ?
iHow to check frequency.
uptime
.by procesorem miałem na myśli użycie procesora. rozumiałem dlaczego. Ale jak sprawdzić częstotliwość lub sprawdzić, czy procesor jest wzmocniony turbo?top
,uptime
). To, która jednostka sprzętowa zajmuje się procesami, zależy ostatecznie od oprogramowania niskiego poziomu (kompilacja, system operacyjny). Raport cpuinfo uwydatnia fakt, że każdy procesor fizyczny (jeden z kilku procesorów na matrycy) może rozszerzyć swoje moce obliczeniowe dzięki wyczynom technicznym, takim jak wielowątkowość. Będzie traktował „wszystko”, co może zająć się jednym procesem naraz, jako procesor. W oczach cpuinfo możliwości urządzenia prowadzą do całkowitej liczby „procesorów”Odpowiadając tylko na twoje pierwsze pytanie. W wyniku
cat /proc/cpuinfo
można zobaczyć następujące informacje:Możesz zobaczyć liczbę
siblings is 4
icpu cores is 2
.cpu cores
wartość 2 oznacza całkowitą liczbę rdzeni w procesorze, którą można sprawdzić na podstawie specyfikacji podanej przez podany adres URL wywiadu. Podobniesiblings
jest określony przez liczbę wątków dostarczanych przez HTT firmy Intel.Podobnie, dla identyfikatora fizycznego,
0
który wskazuje, że jest tylko jeden układ procesora, a dla identyfikatorów rdzenia widać,0 and 1
że są to 2 rdzenie w procesorze.Aktualizacja: dodawanie odpowiedzi na pozostałe pytania.
Cóż, powiem, wszystkie aktywne rdzenie mają turbodoładowanie. Hej kolego, powinieneś sprawdzić przykłady naszej ukochanej Wikipedii . Wyjaśnione również z obliczeniami.
Turbo Boost, czy nie możesz szczegóły freq na wyjściu
lscpu
. I dla wyrafinowanej wydajności: -źródło
lscpu
polecenie.Możesz spróbować w terminalu:
sudo lscpu
To da ci przegląd twojej fizycznej cechy procesora. Jeśli chodzi o turbo boost, czy nie, jest to czysto sprzętowa kontrola niż sam system operacyjny, więc jeśli Intel nie ma określonych sterowników dla Linuksa, które mogą dostroić szybkość procesora, nie ma solidnego dowodu, aby sprawdzić stan turbodoładowania (chyba że istnieje kod polecenia sprawdź inne fora, jeśli są jakieś wskazówki dotyczące twojego pytania).
Jeśli chodzi o mnie, to właśnie otrzymuję po wpisaniu powyższego polecenia. Mój AMD powiedział, że jest to czterordzeniowy, ale mój fizyczny rdzeń wymieniony tutaj to tylko 2, z 2 wątkami na rdzeń (daje 4 rdzenie). Używam procesora AMD A10 APU 5750m.
źródło
Obciążenie systemu i% procesora to dwa różne sposoby pomiaru zużycia mocy procesora.
Oba środki są powiązane, ale w żaden sposób identyczne.
źródło