İşlemcimin saat hızını kontrol etmenin bir yolu var mı?


187

İşlemcimin hangi saat hızında çalıştığını kontrol etmenin bir yolu var mı?

Zaten denedim cat /proc/cpuinfoama koştuğum saat hızı göstermiyor. Ubuntu 12.04'ün (Hassas Pangolin) 700 MHz ve VGA gerektirdiğini biliyorum ama AMD Mobile Sempron çalışacak mı?


Sorunuzun ikinci bölümünde daha belirgin olmanız gerekir. Model numarasını biliyor musunuz?
LiveWireBT 20:12

Tüm cevaplar için teşekkürler ama ben şimdi iyiyim!
user1610406

Yanıtlar:


199

Komut satırından yazın lscpu. Bilgi CPU MHz'de olacaktır:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000

12
CPU MHz'nin değerinin sabit olmadığını ve ikincisi tarafından değişebileceğini unutmayın.
Cerin

18
Eğer gerçek zamanlı olarak güncellemesi için isterseniz, bu yardımcı olacaktır: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali,

1
@ Ivan: Üzgünüm, bunu dikkate almayın. Bu komutun çıktısı:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali

3
@Ivan: Tamam, işte başlıyorsunuz:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali

1
@Ivan: Anlık bir gözlem için ihtiyacınız yok watch. Bu yapardı: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. Sisteminizde tam olarak çıktı aldığınızdan emin değilim. Bu yardımcı olursa komutu açıklayacağım: ilk önce lscpuCPU'nuz hakkında bilgi içeren tam çıktıyı alır, grepsonra CPU MHzsadece bu satırı arar ve yazdırır awk, $N-thbloğu çıkarır ve görüntüler. Ve sonucun gerçek zamanlı olarak değişmesini istiyorsanız, komutu a ile işaretleyin watch -n1 "...".
Amal Murali

172

Birkaç yol var:

  1. lscpuveya daha kesin lscpu | grep "MHz".
    Bu size CPU için genel MHz verecektir.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfoveya daha kesin cat /proc/cpuinfo | grep "MHz".
    Bu size her CPU çekirdeği için ayrı MHz sağlayacaktır. Yani bir Core 2 Duo, AMD Bulldozer, Core i7, vb. Varsa, her bir çekirdek için MHz gösterecektir.

    $ 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 cpuveya daha kesin sürüm: lshw -c cpu | grep capacity
    Size genel MHz verecek. İle aynı 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 processorveya daha doğrusu: sudo dmidecode -t processor | grep "Speed"Sadece kullanımda bir MHz vermekle kalmaz aynı zamanda CPU'nuzu hızlandırabilir / overclock edebilirsiniz.

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

Bu tüm Out lshwve dmidecodeCPU en iyi bilgi sağlar.

Günlük dosyalarını sorgulayarak çekirdek tarafından algılanan mevcut MHz'yi de hedefleyebilirsiniz:

cat /var/log/dmesg | grep "MHz processor" - Mevcut algılanan MHz hızı için

cat /var/log/kern.log | grep "MHz processor"- Mevcut ve geçmiş tespit edilen MHz hızları için. Bazı durumlarda işe yaramayacak, bu yüzden dmesgilk ben gönderdim .

Ve kafamın tepesinden hatırlayabildiğim tek şey bu. Başka yollar da olduğundan eminim, şu anda hatırlamıyorum. Tabii ki, terminal yolları hakkında konuşmak.


1
Benim için, dmidecode dışındaki tüm seçenekler yanlış bir okuma yaptı: 7x çarpanlı ve 400mhz CPU frekanslı bir gigabayt ga-965p-ds3 3.3 anakartında intel E6600 2.4ghz çipini overclock ediyorum, ancak 2.8ghz CPU verecek şekilde stok çarpanı, 9 (9x266 = 2.4ghz) bu nedenle, çarpanların stok çarpanı olduğunu ve işlemcinin CPU mhz tarafından kullanıldığını düşündüğümden şüpheleniyorum.
dez93_2000

3
dmidecodeHızaşırtma sırasında saatin hızını doğru rapor eden tek kişi gibi görünüyor
Avindra Goolcharan

1
dmidecodeGenel olarak gelen bilgilerin sisteminiz için doğru olduğu konusunda güvenilmez olduğunu unutmayın; çünkü bu yalnızca DMI tablolarından gelen verileri okur; bu hatalı olabilir. Dmidecode için olan man sayfası bile bilgilerin "muhtemelen güvenilmez" olduğunu söylüyor ve devam ediyor: "DMI tablosu yalnızca sistemin şu anda ne yaptığını tarif etmiyor, aynı zamanda olası evrimleri de (en hızlı desteklenen CPU gibi) rapor edebilir veya desteklenen maksimum bellek miktarı). "DMI tablolarında yer alan bilgilerin çoğu zaman yanlış olması, eksik veya eksik olması."
Cerran,

1
dmidecodeiş gibi görünmüyor, CPU'yu maksimum frekansta sıkıştığını gösteriyor, ki bu doğru değil, kesinlikle eminim. powertopve lscpugerçek değişken frekansı gösterir.
Rolf

1
Sen gerekmez cat /path/to/file | grep "some string"- yapabilirsiniz sadece grepyerine doğrudan dosya: grep "some string" /path/to/file. Yine de harika cevap.
mgarey

89

Mevcut CPU hızı için, aşağıdakiler kullanılarak gerçek zamanlı olarak bu değişiklik dinamik olarak izlenebilir:

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

Maksimum CPU hızını görmek için aşağıdakileri kullanın:

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

4
+1, buranın bir Ubuntu sitesi olduğunu biliyorum, ancak bu işletim sistemi tamamen işletim sisteminden bağımsız bir komut sağlayan tek yanıt gibi görünüyor.
Andy E

Scaling_max_freq dosyasını okumaya İzin Verilmemesi durumunda cpuinfo_max_freq komutunu deneyin.
LightStruk

6
cpufreq/cpuinfo_cur_freqmevcut değil
Ken Sharp

1
+1, ubtunu çalıştıran birçok ARM tabanlı sistemlerde bile bu çözümü işe yarar. Bu sayfada verilen her bir "çözüm" burada başarısız olur, her yerde çalışır.
Philippos

4
intel_pstate CPU freq sürücüsü sağlamıyor cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverHangi sürücünün kullanıldığını görmek için BTW, cpuinfo_cur_freqdonanımın bakış açısı ve scaling_cur_freqmevcut CPU frekansının çekirdeği bakış açısıdır. Daha fazlası için static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji

15

Gösterge-cpufreq-seçici mevcut cpu frekansını gösteren güzel bir küçük gösterge aracıdır. İstediğiniz işlemci frekansını bile seçebilirsiniz.

görüntü tanımını buraya girin

Ancak bu araç için son güncelleme 2015-10-19 tarihinde yapıldı .


5
Kullanarak yükleyebilirsiniz sudo apt-get install indicator-cpufreq.
Wilf

2
Kurduktan sonra, ortaya çıkmadan önce yeniden başlatmanız gerekir.
talyric

Hiç değilse, daha yeni Ubuntus'ta iyi çalışmıyor.
Ken Sharp,

7

sudoIan'ın yukarıdaki cevabı için gerekli olduğunu belirtmek isterim :

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

Ancak sudo kullanmadan aynı sonuçları alabilirsiniz:

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

En sevdiğim, kendi resminizi çizebileceğiniz Conky'yi kullanmak:

Conky.gif

Bu sürekli dahili ekranımın sağ tarafında oturuyor. CPU bölümü için ilgili kod şudur:

${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

1
Conky nerede ve ne?
not2qubit

@ not2qubit Bu cevabı daha sonra güncelleyeceğim ancak bu arada şu Arch Linux makalesine bakın: wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix

6

Sadece i7zbu listeye eklemek istiyorum . Diğer seçeneklerin aksine bu, TurboBoost'a sahip olan i7, i5 ve i3 serisindeki CPU'larda daha iyi çalışır.


Tam olarak ihtiyacım olan şeydi. Ayrıca Vcore voltajlarını, Turbo çarpanlarını, C0 durmalarını vb. Gösterir. Çok hoş!
Andriy Makukha

Başlar, 30mb yakut ve çeşitli aletler gerektirir.
Gringo Suave

3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

2

Eğer gömülü ARM cihazı da (Ahududu veya ARM tabanlı telefonlar gibi) kullanıyorsanız, kullandığınız çözümleri kullanmak mümkün olmayacaktır lscpu, dmidecodeya da /proc/cpuinfoaracı hiç varsa anlık hız, orada listede yok çünkü. Bunun yerine, sysfs kullanmanız gerekir :

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

2

Tüm CPU iş parçacıkları için cpu frekanslarını almanın basit bir yolu:

  1. cpufrequtilsYüklendiğinden emin ol .

  2. Ardından bir terminalde aşağıdaki komutu çalıştırın:

    cpufreq-info | grep "frequency is"
    

2

Bu, gerçek zamanlı işlemci hızları için iyi çalışır

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

Bu aktifken, aynı zamanda maksimum gerçek zamanlı hızlara ulaşabildiğini görmek için işlemciyi spam olarak da alabilirsiniz. openssl speed



1

Bunu bir yorum olarak paylaşmak istedim ama askubuntu hakkında pek fazla üne sahip değilsiniz, gösterge-cpufreq kullanmak isteyen kişilerin bilgisayarı yeniden başlatmasına gerek yok. Geçerli X oturumunu sıfırlamak, simgeyi görüntülemek için yeterlidir.

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

Geçerli frekansı görünerek, Performans ve Güç Tasarrufu seçeneğini doğrulayabilirsiniz.

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

Daha düşük bir frekans / Güç Tasarrufuna tıkladığınızda, CPU'nun gücü devreye girerek saat döngüsünü azaltır.


Kullanıcı oturumu kapatıp tekrar açtı (ancak yeniden
başlatmıyor

1

Bu benim favorim:

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

Turbo Boost (veya AMD ise Turbo Core) varsa, muhtemelen tercih edersiniz:

sudo watch -n 1 -d cpupower monitor

ki kullanır cpupowergelen Linux araçları grubu.


0

Örnek çıktı 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:

İşte cpu MHzmevcut cpu frekansı demektir. cpufreq-infoKolayca anlamak için koşabilirsiniz .


gereksiz ve uzun!
Rishav Ambasta

0

Bir Linux terminalinde, CPU çekirdek adını ve şu anki hızını almak için aşağıdaki komutu yazın:

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


0

sudo powertop daha sonra "Frekans istatistikleri" sekmesine gitmek için iki kez Tab tuşuna basın.

dmidecodeKullanılabilir her frekansta ne kadar süre harcandığına ilişkin istatistiklerle birlikte Gerçek frekansı (dizüstü bilgisayarımda doğru ) ve yanında görüntüler.


Güncel frekans için belirli bir çizgiye sahip mi? Her frekansın + boşta durumunun "aktif" olduğu zamanın% 'sini gösteriyor, şu anda hangisinin aktif olduğuna dair bir gösterge yok mu?
Xen2050

@ Xen2050 CPU frekansı milisaniye içinde ileri geri değişebildiğinden, istatistiklerle daha fazla ilgileniyorum. powertop -t 1Düşük bir gecikme için koşabilirsiniz , böylece istatistikler her saniye güncellenir.
Rolf

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.