Intel i7-1065G7, maksimum turbo yükseltme frekansına ulaşmıyor

Aug 18 2020

Intel i7-1065G7 işlemcili bir dizüstü bilgisayarım var . turbostatraporlar

35 * 100.0 = 3500.0 MHz max turbo 8 active cores
35 * 100.0 = 3500.0 MHz max turbo 7 active cores
35 * 100.0 = 3500.0 MHz max turbo 6 active cores
35 * 100.0 = 3500.0 MHz max turbo 5 active cores
35 * 100.0 = 3500.0 MHz max turbo 4 active cores
35 * 100.0 = 3500.0 MHz max turbo 3 active cores
38 * 100.0 = 3800.0 MHz max turbo 2 active cores
39 * 100.0 = 3900.0 MHz max turbo 1 active cores

(bunlar 4 fiziksel / 8 sanal çekirdektir) İşlemciye büyük bir tek iş parçacığı yükü (pi'yi hesaplayarak mpfr) attığımda, iki çekirdeğin (belki bir fiziksel çekirdek?) tam olarak 3500 MHz'de çalıştığını ve diğerlerinin daha düşük olduğunu gözlemliyorum. Sıklık. Ancak asla daha yüksek turbo boost frekanslarına ulaşmazlar.

Ben cpu çekirdeklerinin bazıları devre dışı bırakırsanız (örneğin ile echo 0 > /sys/devices/system/cpu/cpu[2-7]*/online) dizüstü gelmez , gelen yüksek turbo boost frekansları ulaşmak performans artışı sağlıyor (şimdi önce ortalama 18.5 saniye üstlendi 16.8 alan bir görev).

Tüm çekirdeklere ihtiyaç duyulmadığında yeni dizüstü bilgisayarımın maksimum saat hızına ulaşmasını nasıl sağlayabilirim?

Bir HP Envy x360 dizüstü bilgisayarda Ubuntu 20.04'ü 5.4.0 kernel ile kullanıyorum.

Beklediğim Ne: Bir ile eski laptop günü i7-4712MQ turbostat verir

30 * 100.0 = 3000.0 MHz max turbo 4 active cores
30 * 100.0 = 3000.0 MHz max turbo 3 active cores
32 * 100.0 = 3200.0 MHz max turbo 2 active cores
33 * 100.0 = 3300.0 MHz max turbo 1 active cores

(bu aynı zamanda 4/8 çekirdekli bir makinedir). Bu makinede tek çekirdekli bir yük, bir çekirdeği yaklaşık 3,3 GHz'e, iki çekirdekli bir yük altında iki saat 3,2 GHz'e kadar artırır.

Windows'ta bireysel cpu frekanslarını kontrol etmedim, ancak görev yöneticisi bazen 3.7GHz'in üzerindeki frekansları görüntülüyor.

Güncelleme: Böylece sorun ortadan kalktı ... Neden olduğuna dair hiçbir fikrim yok. Kaldırdım linux-cloud-toolsama sebebinin bu olması gerektiğini düşünmüyorum.

Yanıtlar

H2ONaCl Aug 18 2020 at 08:01

Sen yazdın...

Tek iplikli büyük bir yük attığımda

Programınız tek iş parçacıklıysa, diğer evrelerde maksimum frekansa gitmesine gerek yoktur, bu yüzden olmaz.

Bağlantınız Intel® Core ™ i7-1065G7 İşlemci içindir.

Bağladığınız Intel belgesi maksimumun 3900 MHz olduğunu söylüyor. Verileriniz 3900 MHz'de bir çekirdek olduğunu gösteriyor, bu yüzden neden maksimuma ulaşmadığını düşündüğünüzü bilmiyorum. Bunu sen gönderdin ...

35 * 100.0 = 3500.0 MHz max turbo 8 active cores
35 * 100.0 = 3500.0 MHz max turbo 7 active cores
35 * 100.0 = 3500.0 MHz max turbo 6 active cores
35 * 100.0 = 3500.0 MHz max turbo 5 active cores
35 * 100.0 = 3500.0 MHz max turbo 4 active cores
35 * 100.0 = 3500.0 MHz max turbo 3 active cores
38 * 100.0 = 3800.0 MHz max turbo 2 active cores
39 * 100.0 = 3900.0 MHz max turbo 1 active cores

Genel olarak, okuma maksimum frekans değilse, bunun nedeni ya bunu sadece aralıklı olarak yapmasıdır, böylece ölçüm yalnızca aralıklı olarak gösterecektir ya da IO gibi bazı kısıtlamalar olduğu için maksimum frekansta olması gerekmeyecektir. Endişelenme. Kısıtlaması olmayan bir program yazarsanız, başka bir deyişle, hesaplama kısıtlı bir iş parçacığı ise, maksimum frekansa gideceğini garanti ederim.

18,5 saniyelik bir geçen süre, sonuç çıkarmak için kullanmak istemediğiniz rastgele etkiler nedeniyle anlamlı olmayabilir. 200 saniye veya daha uzun süren işler size daha anlamlı veriler verebilir.

thesps Sep 28 2020 at 19:04

Benzer bir kurulumda benzer bir şey yaşadım (i7-9700K CPU, Ubuntu 18.04). Ve makine kullanımımın benzer olabileceğini düşünüyorum: bazı yoğun (ancak tek iş parçacıklı) uygulamaları çalıştırmak için kullandığım bir masaüstü makine ve aynı zamanda muhtemelen bir web tarayıcısı ve bazı mesajlaşma uygulamaları açık. İşlemler için CPU benzeşimini ayarlayarak, orijinal gönderinin altındaki yorumlarda öneriyi buldum. Eskiden tasksetyapardım [1].

İlk test (yakınlık ayarlarında değişiklik yok): 8 çekirdeğin tümü ~% 10 kullanımda 'boşta'. Tek iş parçacıklı, CPU yoğun bir görev başlatıyorum. Bir çekirdek% 100'e sıçrıyor, kullanan tüm çekirdeklerde 3.6 GHz (turbosuz maksimum) görüyorum i7z.

İkinci test: ile, CPU çekirdekleri 0 ve 1 çalışan tüm işlemleri sınırla: . Şimdi bu 2 çekirdek% 30-40'ta, geri kalanı% 0'da (işletim sistemi işlemlere başladığında diğer bazı çekirdekler de etkinlik kazanmaya başlayabilir). Sonra aynı tek iş parçacıklı, CPU yoğun görevi başlatın. Bir çekirdek% 100'e sıçrıyor, ancak şimdi 4,9 GHz'lik maksimum turbo frekansına ulaştığını görüyorum. Daha sonra , benim durumumda aralığı ile değiştirerek tüm çekirdekleri kullanmak için yakınlığı tekrar ayarladım .for i in `sudo ps -aux | awk '{ print $2 }'`; do sudo taskset -a -p -c 0-1 $i; done0-10-7

[1] http://manpages.ubuntu.com/manpages/focal/man1/taskset.1.html