Xvani Skrevet 3. august 2014 Del Skrevet 3. august 2014 (endret) Hei, Forsøker å overklokke en Pentium G3258 i Ubuntu 14.04 på et Gigabyte Z97N Gaming 5 på siste BIOS versjon. Uansett hva jeg setter frekvensen til i BIOS, får jeg: sudo dmidecode -t processor | grep SpeedMax Speed: 3800 MHzCurrent Speed: 3200 MHz Dette skjer også under full load. Det kan virke som om Ubuntu reduserer frekvensen.. Er det noe jeg må gjøre i OS for å fikse dette? Takk! Endret 10. august 2014 av Xvani Lenke til kommentar
Occi Skrevet 3. august 2014 Del Skrevet 3. august 2014 Kan det være at du har cpufrequtils installert, dvs. cpu scaling? $ dpkg -l | grep cpufrequtils Hvis det er installert kan denne kommandoen kanskje være av interesse. $ cpufreq-info 1 Lenke til kommentar
Sokkalf™ Skrevet 3. august 2014 Del Skrevet 3. august 2014 dmidecode gir vel neppe pålitelige tall på CPU-frekvensen, da dette vel viser spesifikasjonene, ikke reell hastighet. Litt usikker på hvordan man viser reell hastighet, faktisk. Lenke til kommentar
rockPaperScissors() Skrevet 3. august 2014 Del Skrevet 3. august 2014 (endret) Debian distribusjoner benytter ondemand (kanskje også userspace) klokkefrekvens-styring, du kan endre dette slik for en enkelt cpu. $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand $ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ondemand performance $ sudo sh -c "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performanceDu kan se endringene øyeblikkelig med følgende kommando. $ watch grep MHz /proc/cpuinfoMer informasjon her. http://www.thinkwiki.org/wiki/How_to_make_use_of_Dynamic_Frequency_Scaling Det skal ikke påvirke ytelsen nevneverdig for vanlig bruk å benytte automatisk nedklokking med ondemand profil, men det har endel å si for å redusere strømforbruk og varmeutvikling. Intel CPU'er har så vidt jeg vet også automatisk nedklokking dersom CPU blir veldig varm. Dårlig ventilerte bærbare er veldig utsatt for tvungen nedklokking under last. Endret 3. august 2014 av rockPaperScissors() Lenke til kommentar
tingo Skrevet 3. august 2014 Del Skrevet 3. august 2014 Hmm, kjapp testing her nå. Det ser ut som om /proc/cpuinfo kan gi deg svaret: (dette er på en maskin med en i3) tingo@kg-u35jc:~$ cat /proc/cpuinfo | grep MHz cpu MHz : 2399.000 cpu MHz : 933.000 cpu MHz : 933.000 cpu MHz : 933.000 tingo@kg-u35jc:~$ cat /proc/cpuinfo | grep MHz cpu MHz : 933.000 cpu MHz : 2399.000 cpu MHz : 933.000 cpu MHz : 933.000 tingo@kg-u35jc:~$ cat /proc/cpuinfo | grep MHz cpu MHz : 933.000 cpu MHz : 933.000 cpu MHz : 2399.000 cpu MHz : 933.000 tingo@kg-u35jc:~$ cat /proc/cpuinfo | grep MHz cpu MHz : 2399.000 cpu MHz : 933.000 cpu MHz : 1866.000 cpu MHz : 933.000 tingo@kg-u35jc:~$ cat /proc/cpuinfo | grep MHz cpu MHz : 933.000 cpu MHz : 933.000 cpu MHz : 933.000 cpu MHz : 933.000 Lenke til kommentar
rockPaperScissors() Skrevet 3. august 2014 Del Skrevet 3. august 2014 Redigerte det forrige innlegget mitt etter jeg publiserte den, men forsøk watch grep MHz /proc/cpuinfo, tingo. Lenke til kommentar
Xvani Skrevet 4. august 2014 Forfatter Del Skrevet 4. august 2014 Wow! Takk for gode svar! Ser ut som om det er noe med cpufreq-info ja! Kan det være at du har cpufrequtils installert, dvs. cpu scaling? Noen relevante linjer: $ cpufreq-info hardware limits: 800 MHz - 3.20 GHz available frequency steps: 3.20 GHz, 3.20 GHz, 3.00 GHz, 2.90 GHz, 2.70 GHz, 2.50 GHz, 2.30 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1.70 GHz, 1.50 GHz, 1.30 GHz, 1.10 GHz, 1000 MHz, 800 MHz current CPU frequency is 3.20 GHz. Debian distribusjoner benytter ondemand (kanskje også userspace) klokkefrekvens-styring, du kan endre dette slik for en enkelt cpu. $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand $ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ondemand performance $ sudo sh -c "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performanceDu kan se endringene øyeblikkelig med følgende kommando. $ watch grep MHz /proc/cpuinfoIntel CPU'er har så vidt jeg vet også automatisk nedklokking dersom CPU blir veldig varm. Dårlig ventilerte bærbare er veldig utsatt for tvungen nedklokking under last. Hei, jeg har tvunget cpufreq til Performance, uten at det hjelper. Hmm, kjapp testing her nå. Det ser ut som om /proc/cpuinfo kan gi deg svaret: (dette er på en maskin med en i3) Jeg har skrudd av skalering av prosessoren, og tester under 100% load på begge kjerner. /proc/cpuinfo gir samme verdi uansett. Lenke til kommentar
Xvani Skrevet 4. august 2014 Forfatter Del Skrevet 4. august 2014 (endret) Takk så langt, dere er strålende! Ser ut som om det er noe med cpufreq-info ja! Noen relevante linjer: $ cpufreq-info hardware limits: 800 MHz - 3.20 GHz available frequency steps: 3.20 GHz, 3.20 GHz, 3.00 GHz, 2.90 GHz, 2.70 GHz, 2.50 GHz, 2.30 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1.70 GHz, 1.50 GHz, 1.30 GHz, 1.10 GHz, 1000 MHz, 800 MHz current CPU frequency is 3.20 GHz. Noen flere relevante linjer (etter tips fra denne bloggen): $ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 3201000 Om jeg skriver: $ echo 1 > sudo /sys/module/processor/parameters/ignore_ppc $ echo 3901000 > sudo /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3901000 Får jeg forsatt: $ cat /sys/module/processor/parameters/ignore_ppc 0 $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Noen som kan forklare hva som skjer her? Endret 4. august 2014 av Xvani Lenke til kommentar
rockPaperScissors() Skrevet 4. august 2014 Del Skrevet 4. august 2014 Nå er jeg på tynn is her, men det er mulig at driveren ikke tillater det du forsøker å gjøre. Mulig du kan slå av cpufrequtils tjenesten og CPU vil kjøre i den frekvensen du har ved oppstart? $ sudo update-rc.d cpufrequtils disable Deretter omstart. For å aktivere cpufrequtils igjen. $ sudo update-rc.d cpufrequtils enable $ sudo service cpufrequtils start https://wiki.debian.org/Daemon#Enable.2Fdisable_daemons 1 Lenke til kommentar
process Skrevet 4. august 2014 Del Skrevet 4. august 2014 (endret) Takk så langt, dere er strålende! Om jeg skriver: $ echo 1 > sudo /sys/module/processor/parameters/ignore_ppc $ echo 3901000 > sudo /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3901000 Får jeg forsatt: $ cat /sys/module/processor/parameters/ignore_ppc 0 $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Noen som kan forklare hva som skjer her? Du bruker echo '3901000' til å lage en fil som heter sudo med det innholdet. Prøv 'sudo echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' Endret 4. august 2014 av process 1 Lenke til kommentar
rockPaperScissors() Skrevet 4. august 2014 Del Skrevet 4. august 2014 Takk så langt, dere er strålende! Om jeg skriver: $ echo 1 > sudo /sys/module/processor/parameters/ignore_ppc $ echo 3901000 > sudo /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3901000 Får jeg forsatt: $ cat /sys/module/processor/parameters/ignore_ppc 0 $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Noen som kan forklare hva som skjer her? Du bruker echo '3901000' til å lage en fil som heter sudo med det innholdet. Prøv 'sudo echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq" blir det vel? 1 Lenke til kommentar
process Skrevet 4. august 2014 Del Skrevet 4. august 2014 Takk så langt, dere er strålende! Om jeg skriver: $ echo 1 > sudo /sys/module/processor/parameters/ignore_ppc $ echo 3901000 > sudo /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3901000 Får jeg forsatt: $ cat /sys/module/processor/parameters/ignore_ppc 0 $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Noen som kan forklare hva som skjer her? Du bruker echo '3901000' til å lage en fil som heter sudo med det innholdet. Prøv 'sudo echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq" blir det vel? Fungerer det også, men det er ikke nødvendig i dette tilfellet. En annen måte er å benytte cpufreq-set og cpufreq-info fra direkte fra pakken. Lenke til kommentar
Xvani Skrevet 4. august 2014 Forfatter Del Skrevet 4. august 2014 Du bruker echo '3901000' til å lage en fil som heter sudo med det innholdet. Prøv 'sudo echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' Huff. Takk.. Men: $ sudo echo 1 > /sys/module/processor/parameters/ignore_ppc bash: /sys/module/processor/parameters/ignore_ppc: Permission denied sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq" blir det vel? $ sudo sh -c echo 1 > /sys/module/processor/parameters/ignore_ppc bash: /sys/module/processor/parameters/ignore_ppc: Permission denied Samme skjer med sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq Lenke til kommentar
rockPaperScissors() Skrevet 4. august 2014 Del Skrevet 4. august 2014 Husk gåsetegn, ". sudo sh -c "<kommando>" 1 Lenke til kommentar
Xvani Skrevet 4. august 2014 Forfatter Del Skrevet 4. august 2014 (endret) $ sudo sh -c "echo 1 > /sys/module/processor/parameters/ignore_ppc" $ cat /sys/module/processor/parameters/ignore_ppc1 1 $ sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq" $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Dette var ikke lett! Endret 4. august 2014 av Xvani Lenke til kommentar
Xvani Skrevet 4. august 2014 Forfatter Del Skrevet 4. august 2014 (endret) Nå er jeg på tynn is her, men det er mulig at driveren ikke tillater det du forsøker å gjøre. Mulig du kan slå av cpufrequtils tjenesten og CPU vil kjøre i den frekvensen du har ved oppstart? $ sudo update-rc.d cpufrequtils disable Deretter omstart. Godt forslag. CPU-frekvensene vises fortsatt likt (uten at det betyr at CPU faktisk kjører på den frekvensen) $ sudo dmidecode -t processor | grep Speed Max Speed: 3800 MHz Current Speed: 3200 MHz $ cat /proc/cpuinfo |grep MHz cpu MHz : 3201.000 cpu MHz : 3201.000 Hvordan sjekker jeg FAKTISK frekvens? Endret 4. august 2014 av Xvani Lenke til kommentar
Occi Skrevet 4. august 2014 Del Skrevet 4. august 2014 (endret) Det er ikke sikkert at /proc/cpuinfo eller andre metoder viser faktisk CPU frequency. Many Intel i5 and i7 chips, even when overclocked properly through the BIOS or UEFI interface, will not report the correct clock frequency to acpi_cpufreq and most other utilities. - http://ArchWiki - Maximizing performance - CPUJeg vet ikke om dette stemmer, eller i det hele tatt er relevant for alle kommandoene som er prøvd her. Har ikke selv prøvd å overklokke på mens jeg har brukt Linux. Uansett et hint du kanskje kan titte på, det kan hende at det allerede fungerer som det skal gitt at du har skrudd av cpu scaling/bruker 'performance' governor.Edit:Ser at du ikke har en vanlig i-serie prosessor, men det kan hende at samme ting gjelder for din. Endret 4. august 2014 av Occi Lenke til kommentar
Sokkalf™ Skrevet 4. august 2014 Del Skrevet 4. august 2014 For ca. 100 år siden lagde jeg et program som finner frekvens ved å telle antall ticks på et sekund. CPU-instruksjonen 'rdtsc' (read time stamp counter) gir mulighet for dette. Den er ikke helt 100%, men gir en veldig god pekepinn. Kildekode: #include <stdlib.h> #include <stdio.h> #include <stdint.h> #include <sys/time.h> uint64_t rdtsc() { uint64_t x; __asm__ volatile ("rdtsc\n\t" : "=A" (x)); return x; } uint64_t get_time() { struct timeval tv; gettimeofday(&tv, 0); return tv.tv_sec * 1000 + tv.tv_usec / 1000; } void *infinite_loop() { while(1) { __asm__ ("nop;"); } } uint64_t get_clockspeed() { uint64_t time_start, time_stop, start_tick, end_tick, overhead; overhead = rdtsc() - rdtsc(); time_start = get_time(); while(get_time() == time_start) { time_start = get_time(); } for(; { time_stop = get_time(); if((time_stop - time_start) > 1) { start_tick = rdtsc(); break; } } time_start = time_stop; for(; { time_stop = get_time(); if((time_stop - time_start) > 1000) { end_tick = rdtsc(); break; } } return (uint64_t)((end_tick - start_tick) + (overhead)); } int main(int argc, char *argv[]) { printf("speed : %u\n", get_clockspeed()); return 0; } Kompileres med "gcc -o clockspeed clockspeed.c" 1 Lenke til kommentar
rockPaperScissors() Skrevet 4. august 2014 Del Skrevet 4. august 2014 (endret) $ sudo sh -c "echo 1 > /sys/module/processor/parameters/ignore_ppc" $ cat /sys/module/processor/parameters/ignore_ppc1 1 $ sudo sh -c "echo 3901000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq" $ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 3201000 Dette var ikke lett! Er 3901000 tilgjengelig? Sjekk med denne: $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequenciesPS: Husk at cpu0 kan være fra 0 til N, etter antall kjerner du har tilgjengelig. Jeg ser at du skriver cpu1 noen ganger, og andre ganger cpu0. cpu0 er kjerne 1, cpu1 er kjerne 2 osv. Endret 4. august 2014 av rockPaperScissors() Lenke til kommentar
Xvani Skrevet 10. august 2014 Forfatter Del Skrevet 10. august 2014 Dette løste seg - det var en BIOS bug som forårsaket at klokkefrekvensen ble styrt av "Turbo boost" og ikke av normal frekvens. Jeg har resatt til default config og overklokket igjen. Jeg klarer nå ikke å reprodusere feilen. Det var tipsene og rådene i denne tråden som hjalp meg finne ut av problemet. TUSEN TAKK! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå