Jakiś sposób, aby sprawdzić szybkość zegara mojego procesora?

187

Czy jest jakiś sposób, aby sprawdzić, z jaką częstotliwością zegara działa mój procesor?

Próbowałem już, cat /proc/cpuinfoale zegar, którego używam, nie pokazuje się. Wiem, że Ubuntu 12.04 (Precise Pangolin) wymaga 700 MHz i VGA, ale czy AMD Mobile Sempron będzie działał?

użytkownik1610406
źródło
Potrzebujesz bardziej szczegółowych informacji na temat drugiej części pytania. Czy znasz numer modelu?
LiveWireBT,
Dziękuję za wszystkie odpowiedzi, ale teraz jestem dobry!
user1610406,

Odpowiedzi:

199

Z typu wiersza poleceń lscpu. Informacje będą na CPU MHz:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000
Kevin Bowen
źródło
12
Należy pamiętać, że wartość CPU MHz nie jest stała i może ulec zmianie z sekundą.
Cerin
18
Jeśli chcesz mieć go aktualizować w czasie rzeczywistym, to pomoże: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali
1
@Ivan: Przepraszamy, zignoruj ​​to. Dane wyjściowe tego polecenia:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali,
3
@Ivan: Dobra, proszę bardzo:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali
1
@Ivan: Do chwilowej obserwacji nie potrzebujesz watch. To byłoby zrobić: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. Nie jestem pewien dokładnej mocy wyjściowej w systemie. Wyjaśnię to polecenie, jeśli to pomoże: najpierw lscpupobiera pełne dane wyjściowe zawierające informacje dotyczące twojego procesora, grepa następnie wyszukuje CPU MHzi drukuje tylko ten wiersz, awkwyjmuje $N-thblok i wyświetla go. A jeśli chcesz, aby wynik zmieniał się w czasie rzeczywistym, zawiń polecenie w watch -n1 "...".
Amal Murali,
172

Istnieje kilka sposobów:

  1. lscpulub bardziej precyzyjnie lscpu | grep "MHz".
    To da ci ogólne MHz dla procesora.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfolub bardziej precyzyjnie cat /proc/cpuinfo | grep "MHz".
    To da ci indywidualne MHz dla każdego rdzenia procesora. Więc jeśli masz Core 2 Duo, AMD Bulldozer, Core i7 itp., Pokaże MHz dla każdego rdzenia.

    $ cat /proc/cpuinfo | grep "MHz"
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 3400.000
    
  3. lshw -c cpulub bardziej precyzyjna wersja: lshw -c cpu | grep capacity
    poda ogólną częstotliwość MHz. Tak samo jak lscpu.

    $ lshw -c cpu | grep capacity
    WARNING: you should run this program as super-user.
           capacity: 1600MHz
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
    
  4. sudo dmidecode -t processorlub bardziej precyzyjnie: sudo dmidecode -t processor | grep "Speed"nie tylko da Ci używane MHz, ale także Maksymalne, do którego możesz przesunąć / podkręcić procesor.

    $ sudo dmidecode -t processor | grep Speed
    [sudo] password for cyrex: 
        Max Speed: 4000 MHz
        Current Speed: 2666 MHz
    

Z tego wszystkiego lshwi dmidecodezapewnij najlepsze informacje z procesora.

Możesz także celować w bieżące MHz wykryte przez jądro, sprawdzając pliki dziennika:

cat /var/log/dmesg | grep "MHz processor" - Dla aktualnie wykrytej prędkości MHz

cat /var/log/kern.log | grep "MHz processor"- Dla obecnych i przeszłych wykrytych prędkości MHz. W niektórych przypadkach nie będzie działać, dlatego dmesgpierwszy opublikowałem .

I to wszystko, co pamiętam ze szczytu mojej głowy. Jestem całkiem pewien, że istnieją inne sposoby, po prostu nie pamiętam teraz. Oczywiście, mówiąc o terminalnych sposobach.

Luis Alvarado
źródło
1
Dla mnie wszystkie opcje oprócz dmidecode dały fałszywy odczyt: podkręcam układ Intel E6600 2,4 GHz na płycie gigabajtowej ga-965p-ds3 3.3 z 7-krotnym mnożnikiem i częstotliwością 400 MHz, aby uzyskać procesor 2,8 GHz, ale mnożnik zapasów jest 9 (9x266 = 2,4 GHz), więc podejrzewam, że reszta narzędzi zakłada, że ​​mnożnik jest równy i razy większy niż w MHz procesora, więc w moim przypadku wszystkie dają 3,6 GHz.
dez93_2000
3
dmidecodewydaje się być jedynym, który dokładnie zgłasza prędkość zegara podczas podkręcania
Avindra Goolcharan
1
Zauważ, że informacji z dmidecodeogólnie nie można ufać, że są dokładne dla twojego systemu, ponieważ po prostu odczytuje dane z tabel DMI, co może być niepoprawne. Strona podręcznika dla dmidecode mówi nawet, że informacja jest „prawdopodobnie niewiarygodna” i kontynuuje: „Tabela DMI nie tylko opisuje to, z czego system jest obecnie wykonany, ale może także raportować możliwe zmiany (takie jak najszybszy obsługiwany procesor lub maksymalna obsługiwana ilość pamięci). ” „Najczęściej informacje zawarte w tabelach DMI są niedokładne, niekompletne lub po prostu błędne”.
Cerran,
1
dmidecodewydaje się nie działać, pokazuje procesor zablokowany na maksymalnej częstotliwości, co nie jest dokładne, jestem całkiem pewien. powertopi lscpupokaż rzeczywistą zmienną częstotliwość.
Rolf
1
Nie trzeba cat /path/to/file | grep "some string"- można po prostu grepplik bezpośrednio zamiast: grep "some string" /path/to/file. Niesamowita odpowiedź.
mgarey
89

Przy obecnej prędkości procesora można dynamicznie obserwować tę zmianę w czasie rzeczywistym, używając:

sudo watch -n 1  cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

Aby zobaczyć maksymalną prędkość procesora, użyj:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 
Colin Ian King
źródło
4
+1, wiem, że to strona Ubuntu, ale wydaje się, że jest to jedyna odpowiedź podająca polecenie całkowicie niezależne od systemu operacyjnego.
Andy E
Jeśli otrzymasz Odmowę uprawnień, próbując odczytać wartość skalowania_maks_frekwencji, spróbuj cpuinfo_max_freq.
LightStruk,
6
cpufreq/cpuinfo_cur_freqnie istnieje
Ken Sharp
1
+1, nawet na kilku systemach opartych na ARM z systemem ubtunu działa tylko to rozwiązanie. Wszystkie „rozwiązania” podane na tej stronie zawodzą tam, podczas gdy działa to wszędzie.
Philippos
4
Intel_pstate Sterownik freq CPU nie zapewnia cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driveraby zobaczyć, który sterownik jest aktualnie używany. BTW, cpuinfo_cur_freqto punkt widzenia sprzętu i punkt widzenia scaling_cur_freqjądra na bieżącą częstotliwość procesora. Więcej na static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji
15

wskaźnik-cpufreq-selektor to ładne małe narzędzie wskaźnikowe, które pokazuje twoją aktualną częstotliwość procesora. Możesz nawet wybrać żądaną częstotliwość procesora.

wprowadź opis zdjęcia tutaj

Jednak ostatnia aktualizacja tego narzędzia miała miejsce 19.10.2015 .

Stephan Schielke
źródło
5
Możesz go zainstalować za pomocą sudo apt-get install indicator-cpufreq.
Wilf
2
Po instalacji musisz ponownie uruchomić komputer, zanim się pojawi.
taliryczny
Jeśli w ogóle nie działa dobrze w nowszym systemie Ubuntus.
Ken Sharp
7

Chciałbym podkreślić, że sudopotrzebna jest powyższa odpowiedź Iana:

sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

Możesz jednak uzyskać te same wyniki bez sudo, używając:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

Moim ulubionym jest użycie Conky, gdzie możesz namalować własne zdjęcie:

Conky.gif

Cały czas znajduje się po prawej stronie mojego wbudowanego wyświetlacza. Odpowiedni kod dla sekcji CPU to:

${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@  ${color green}${freq} MHz   
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime
WinEunuuchs2Unix
źródło
1
Gdzie jest Conky i co to jest?
not2qubit
@ not2qubit Zaktualizuję tę odpowiedź później, ale w międzyczasie zobacz ten artykuł Arch Linux: wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix
6

Chciałbym tylko dodać i7zdo tej listy. W przeciwieństwie do innych opcji, działa to lepiej dla procesorów z serii i7, i5 i i3, które mają TurboBoost.

jmiserez
źródło
Dokładnie to, czego potrzebowałem. Pokazuje też napięcia Vcore, mnożniki Turbo, stop C0 itd. Bardzo fajnie!
Andriy Makukha
Heads up, wymaga 30mb rubinu i różnorodnych narzędzi.
Gringo Suave
3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Vadimo
źródło
2

Jeśli używasz wbudowanego urządzenia ramię (takich jak maliny czy telefonów opartych na ARM a), nie będą mogli korzystać z rozwiązań z zastosowaniem lscpu, dmidecodelub /proc/cpuinfodlatego, że aktualna prędkość nie jest tam wymieniony, jeśli narzędzie jest w ogóle dostępny. Zamiast tego musisz użyć sysfs :

alias getcpuf='i=1; for x in $(sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq); do y=$(($x/1000)); echo "CPU-${i}: $y MHz"; i=$((i+1)); done;'

# getcpuf
CPU-1: 600 MHz
CPU-2: 600 MHz
CPU-3: 600 MHz
CPU-4: 600 MHz
not2qubit
źródło
2

Oto prosty sposób na uzyskanie częstotliwości procesora dla wszystkich wątków procesora:

  1. Upewnij się, że cpufrequtilsjest zainstalowany.

  2. Następnie w terminalu uruchom następujące polecenie:

    cpufreq-info | grep "frequency is"
    
Hipersfera
źródło
2

Działa to dobrze dla prędkości procesora w czasie rzeczywistym

 watch "grep 'cpu MHz' /proc/cpuinfo"

Gdy jest to aktywne, możesz również spamować procesor, aby zobaczyć, jakie maksymalne prędkości w czasie rzeczywistym może osiągnąć openssl speed

Aizen
źródło
1

W terminalu wpisz:

cat /proc/cpuinfo | grep name

Powinien wyświetlać dokładny model twojego procesora.

Ta strona Wikipedii na Sempron poda szczegółowe specyfikacje.

Gord Campbell
źródło
1

Chciałem udostępnić to jako komentarz, ale nie mam wielu reputacji na askubuntu, ludzie, którzy chcą używać wskaźnika-cpufreq, nie muszą restartować komputera. Zresetowanie bieżącej sesji X wystarczy, aby wyświetlić ikonę.

sudo apt-get install indicator-cpufreq   
DISPLAY=:0 compiz --replace

Możesz sprawdzić wydajność i opcję oszczędzania energii, sprawdzając aktualną częstotliwość według

watch -d "cat /proc/cpuinfo | grep -i Mhz"

Gdy tylko klikniesz niższą częstotliwość / Powersave, rozpocznie się zarządzanie procesorem, co skróci cykl zegara.

zaatakowany
źródło
Użytkownik wyloguje się i zaloguje ponownie (ale nie uruchomi się ponownie) prawdopodobnie też by działał
Xen2050,
1

To jest mój ulubiony:

watch -n1 "cat /proc/cpuinfo | grep 'MHz'"

Chociaż jeśli masz Turbo Boost (lub Turbo Core, jeśli AMD), prawdopodobnie wolisz:

sudo watch -n 1 -d cpupower monitor

który korzysta cpupowerz grupy linux-tools .

Marc.2377
źródło
0

Próbka wyjściowa z cat /proc/cpuinfo

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:

Tutaj cpu MHzoznacza aktualną częstotliwość CPU. Możesz biegać, cpufreq-infoaby łatwo zrozumieć.

Alhelal
źródło
niepotrzebne i długie!
Rishav Ambasta
0

W terminalu Linux wpisz następującą komendę, aby uzyskać nazwę rdzenia procesora i jego bieżącą prędkość:

cat /proc/cpuinfo | grep -E "model name|cpu MHz"

Francisco Costa
źródło
0

sudo powertop następnie naciśnij dwukrotnie Tab, aby przejść do zakładki „Statystyki częstotliwości”.

Wyświetla Rzeczywistą częstotliwość (dokładną na moim laptopie, w przeciwieństwie do dmidecode), a także statystyki dotyczące tego, jak długo spędza się na każdej dostępnej częstotliwości.

Rolf
źródło
Czy ma określoną linię dla bieżącej częstotliwości? Wygląda na to, że pokazuje po prostu% czasu, w którym każda częstotliwość + stan bezczynności jest „aktywny”, brak wskazania, który jest aktywny?
Xen2050,
@ Częstotliwość procesora Xen2050 może zmieniać się w milisekundach, więc bardziej interesują mnie statystyki. Możesz biegać powertop -t 1z małym opóźnieniem, aby statystyki były aktualizowane co sekundę.
Rolf