Jak sprawdzić szczegóły procesora i procesora w Linuksie – przykłady poleceń
szczegóły dotyczące procesora, o którym będziemy mówić, obejmują, liczbę rdzeni, dostępność hyper threadingu, architekturę, rozmiar pamięci podręcznej itp.
znalezienie tych informacji na temat procesora w systemie może być trochę trudne, ponieważ różne polecenia sprawdzają je.
polecenia, których będziemy używać to lscpu,/proc / cpuinfo i lstopo (hwloc).,
polecenia te pokazują szczegółowe informacje o rdzeniach/jednostkach procesora.
poniższe przykłady wyjaśniają, jak interpretować wyjście tych poleceń.
1. Dostawca i model procesora
aby znaleźć nazwę dostawcy i modelu procesora, przeszukaj plik / proc / cpuinfo za pomocą polecenia grep.
$ cat /proc/cpuinfo | grep vendor | uniqvendor_id : GenuineIntel
jest to procesor Intel. Następnie znajdź nazwę modelu, która może być używana do wyszukiwania dokładnych specyfikacji online na stronie Intela.
$ cat /proc/cpuinfo | grep "model name" | uniqmodel name : Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz
jest to PROCESOR „Core 2 Quad Q8400”.
2., Architektura
polecenia lscpu raportują architekturę.
$ lscpuArchitecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little Endian.....
architektura to x86_64 czyli 64 bit.
3. Częstotliwość
częstotliwość/prędkość procesora jest zgłaszana zarówno przez lscpu, jak i/proc / cpuinfo.
$ lscpu | grep -i mhzCPU MHz: 1998.000
$ cat /proc/cpuinfo | grep -i mhz | uniqcpu MHz : 1998.000
The frequency reported might be lower than the actual frequency specified for the processor because most modern processors operate at lower frequencies to save power. Under load condition they would switch to higher frequency.
zmianę częstotliwości można zobaczyć monitorując wyjście/proc / cpuinfo za pomocą zegarka.,
$ watch -n 0.1 "cat /proc/cpuinfo | grep -i mhz"
Uruchom powyższe polecenie w terminalu i podczas jego działania Uruchom równolegle kilka zadań obciążających procesor, a częstotliwość wzrośnie.
Every 0.1s: cat /proc/cpuinfo | grep -i mhz Sun Jun 29 15:28:38 2014cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000cpu MHz : 2664.000
4. Liczba rdzeni
każdy rdzeń PROCESORA jest faktycznym niezależnym procesorem lub jednostką przetwarzającą. Wiele rdzeni umożliwia procesorowi wykonywanie wielu instrukcji programu równolegle, zwiększając w ten sposób szybkość przetwarzania.
polecenie lscpu wskazuje „rdzenie na gniazdo”.
więc w tym przypadku liczba rdzeni na procesorze wynosi 4.,
plik/proc / cpuinfo również wskazuje liczbę rdzeni, ale może być nieco skomplikowany i mylący.
samo zliczanie liczby procesorów może dać błędne liczby.
$ cat /proc/cpuinfo | grep "processor"
w przypadku procesorów hyper threaded liczba procesorów widzianych przez system operacyjny jest dwukrotnie większa niż liczba rdzeni.
jednak/proc / cpuinfo ma pole o nazwie „core id”, które jest unikalnym id dla każdego rdzenia w jednym procesorze., Liczenie id rdzenia dałoby wyraźne wskazanie liczby rzeczywistych rdzeni na procesorze
$ cat /proc/cpuinfo | grep -i "core id"core id : 0core id : 2core id : 1core id : 3
wiele procesorów
rzadko, ale w przypadku, gdy jesteś w systemie, który ma wiele fizycznych procesorów (tak, oznacza to, że 2 lub więcej procesorów zamontowanych na płycie głównej), wyniki /proc/cpuinfo byłyby inne. W przypadku wielu procesorów, „ID fizyczne” wskazuje wiele wartości.
$ cat /proc/cpuinfo | grep -i "physical id" | uniqphysical id : 0
Jeśli jest więcej niż 1 fizycznych identyfikatorów, to w systemie jest wiele fizycznych procesorów., I musisz policzyć rdzenie na każdym procesorze osobno.
5. Hyper threading
Hyper threading to technologia firmy Intel, która pozwala poszczególnym rdzeniom wykonywać dwie logiczne jednostki przetwarzania. To w pewien sposób zwiększa moc obliczeniową każdego rdzenia w ograniczony sposób.
aby sprawdzić, czy procesor ma hyper-threading, należy porównać 2 różne wartości. Pierwsza to liczba rzeczywistych rdzeni, a druga to liczba logicznych jednostek przetwarzania.
Jeśli liczba rdzeni jest równa liczbie jednostek przetwarzania widzianej przez system operacyjny, to nie ma hyper threadingu., W przeciwnym razie, jeśli liczba jednostek przetwarzania jest większa/dwa razy większa od liczby rdzeni, wtedy tak hyper threading.
number of processing units = number of cores number of processing units = number of cores * 2
Weźmy ten przykład procesora Core 2 Quad Q8400
Liczba procesorów pokazana przez /proc/cpuinfo wynosi 4
$ cat /proc/cpuinfo | grep processorprocessor : 0processor : 1processor : 2processor : 3
Liczba „rdzeni procesora” = 4, jak również „rodzeństwo” = 4 i unikalny „rdzeń id” = 4
zatem całkowita liczba jednostek przetwarzania = liczba rzeczywistych rdzeni. Więc nie ma hyper threading na tym procesorze, i to samo można potwierdzić ze specyfikacji procesora na stronie Intela.,
procesor Hyper-threaded
W przypadku obecności hyper threadingu wyjście/proc / cpuinfo lub lscpu byłoby inne.
zwróć uwagę na „Thread(s) per core: 2”, które wskazują, że są 2 wątki na rdzeń, w sumie 4 rdzenie. Tak więc liczba jednostek przetwarzania widzianych przez system operacyjny wynosi 8.
teraz przyjrzyjmy się wyjściu /proc/cpuinfo.
The „cpu cores” = 4 and siblings = 8 co oznacza, że na rdzeń są 4 rdzenie i 2 hyperthready. Liczba procesorów pokazana przez / proc / cpuinfo również wynosi 8.,
The HTT flag in dmidecode output and ht flag in /proc/cpuinfo flags might not correctly report hyper threading.
dla procesora Core2Quad Q8400 zarówno dmidecode, jak i/proc / cpuinfo pokazują włączoną flagę hyperthreading, pomimo że Hyper threading nie jest dostępny na procesorze.
hwloc / lstopo
hwloc (Portable hardware location) to małe narzędzie, które raportuje strukturę procesora w zgrabny schemat wizualny. Diagram pokazuje liczbę rdzeni, hyperthreads i rozmiar pamięci podręcznej. Pojedynczy diagram mówi wszystko.,575b2e2d”>
powyższy schemat wyraźnie pokazuje-
Całkowita pamięć podręczna L2 – 4096 KB – 4MB
całkowita liczba rdzeni – 4
jednostka przetwarzania na rdzeń – 1
procesor Hyper-threaded
dla procesora hyperthreaded, hwloc schemat wyjściowy może wyglądać tak
schemat wskazuje
całkowita pamięć podręczna L3 – 8MB
całkowita liczba rdzeni – 4
jednostki przetwarzania na rdzeń – 2
podsumowanie
aby dowiedzieć się więcej o poleceniach sprawdzających informacje o procesorze w systemie Linux sprawdź ten post:
9 poleceń sprawdzających informacje o procesorze w systemie Linux