# [Solved] Zmiana częstotliwości procesora

## zlomek

Mam problem z uruchomieniem /etc/init.d/cpufreqd start

```

 * Starting CPU Frequency Daemon ...

*** buffer overflow detected ***: /usr/sbin/cpufreqd terminated

======= Backtrace: =========

/lib64/libc.so.6(__fortify_fail+0x37)[0x7fe24d7c07e7]

/lib64/libc.so.6(+0xeb600)[0x7fe24d7be600]

/lib64/libc.so.6(+0xebc7b)[0x7fe24d7bec7b]

/usr/sbin/cpufreqd(main+0x7be)[0x403cde]

/lib64/libc.so.6(__libc_start_main+0xfd)[0x7fe24d6f1ebd]

/usr/sbin/cpufreqd[0x402ec9]

======= Memory map: ========

00400000-0040b000 r-xp 00000000 08:02 1740539                            /usr/sbin/cpufreqd

0060a000-0060b000 r--p 0000a000 08:02 1740539                            /usr/sbin/cpufreqd

0060b000-0060c000 rw-p 0000b000 08:02 1740539                            /usr/sbin/cpufreqd

0260b000-0262c000 rw-p 00000000 00:00 0                                  [heap]

7fe24d4bd000-7fe24d4d2000 r-xp 00000000 08:02 793163                     /lib64/libgcc_s.so.1

7fe24d4d2000-7fe24d6d1000 ---p 00015000 08:02 793163                     /lib64/libgcc_s.so.1

7fe24d6d1000-7fe24d6d2000 r--p 00014000 08:02 793163                     /lib64/libgcc_s.so.1

7fe24d6d2000-7fe24d6d3000 rw-p 00015000 08:02 793163                     /lib64/libgcc_s.so.1

7fe24d6d3000-7fe24d856000 r-xp 00000000 08:02 2400762                    /lib64/libc-2.13.so

7fe24d856000-7fe24da55000 ---p 00183000 08:02 2400762                    /lib64/libc-2.13.so

7fe24da55000-7fe24da59000 r--p 00182000 08:02 2400762                    /lib64/libc-2.13.so

7fe24da59000-7fe24da5a000 rw-p 00186000 08:02 2400762                    /lib64/libc-2.13.so

7fe24da5a000-7fe24da5f000 rw-p 00000000 00:00 0 

7fe24da5f000-7fe24da64000 r-xp 00000000 08:02 1181313                    /usr/lib64/libcpufreq.so.0.0.0

7fe24da64000-7fe24dc63000 ---p 00005000 08:02 1181313                    /usr/lib64/libcpufreq.so.0.0.0

7fe24dc63000-7fe24dc64000 r--p 00004000 08:02 1181313                    /usr/lib64/libcpufreq.so.0.0.0

7fe24dc64000-7fe24dc65000 rw-p 00005000 08:02 1181313                    /usr/lib64/libcpufreq.so.0.0.0

7fe24dc65000-7fe24dc67000 r-xp 00000000 08:02 2400818                    /lib64/libdl-2.13.so

7fe24dc67000-7fe24de67000 ---p 00002000 08:02 2400818                    /lib64/libdl-2.13.so

7fe24de67000-7fe24de68000 r--p 00002000 08:02 2400818                    /lib64/libdl-2.13.so

7fe24de68000-7fe24de69000 rw-p 00003000 08:02 2400818                    /lib64/libdl-2.13.so

7fe24de69000-7fe24de88000 r-xp 00000000 08:02 2400840                    /lib64/ld-2.13.so

7fe24e059000-7fe24e05c000 rw-p 00000000 00:00 0 

7fe24e087000-7fe24e088000 rw-p 00000000 00:00 0 

7fe24e088000-7fe24e089000 r--p 0001f000 08:02 2400840                    /lib64/ld-2.13.so

7fe24e089000-7fe24e08a000 rw-p 00020000 08:02 2400840                    /lib64/ld-2.13.so

7fe24e08a000-7fe24e08b000 rw-p 00000000 00:00 0 

7fff44208000-7fff44229000 rw-p 00000000 00:00 0                          [stack]

7fff443ce000-7fff443cf000 r-xp 00000000 00:00 0                          [vdso]

ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

 * start-stop-daemon: failed to start `/usr/sbin/cpufreqd'                                                                                                                                               [ !! ]

 * ERROR: cpufreqd failed to start

```

Wersja: 

```

sys-power/cpufreqd

     Available versions:  2.4.2 {acpi apm lm_sensors nforce2 nvidia pmu}

     Installed versions:  2.4.2(18:28:34 02.04.2011)(acpi nvidia -apm -lm_sensors -nforce2 -pmu)

     Homepage:            http://www.linux.it/~malattia/wiki/index.php/Cpufreqd

     Description:         CPU Frequency Daemon

```

Dodam, że problem jest zmiana z usera:

```
$ cpufreq-set -f 2333000 -c 1

Error setting new values. Common errors:

- Do you have proper administration rights? (super-user?)

- Is the governor you requested available and modprobed?

- Trying to set an invalid policy?

- Trying to set a specific frequency, but userspace governor is not available,

   for example because of hardware which cannot be set to a specific frequency

   or because the userspace governor isn't loaded?

```

Z roota działa:

```

# cpufreq-set -f 2333000 -c 1

# grep "cpu MHz" /proc/cpuinfo 

cpu MHz      : 2400.000

cpu MHz      : 2400.000

```

----------

## SlashBeast

cpufrequtils to nie cpufreqd, to raz.

Dwa, cpufreq-set nie dziala z usera, nie jest to nic nadzwyczajnego, sam fakt jak to dziala (wysyla zmiany do /proc). Ustaw sobie do tego sudo + uzywaj -r do cpufreq-set by zmienialo taktowanie wszystkich rdzeni.

co do samego cpufreqd, pokaz swoje cflags i ldflags, moze tam cos nagrzebales (generalnie caly make.conf + emerge --info to dobry pomysl).

----------

## Jacekalex

Czy ten cpufreqd nie był przypadkiem kompilowany gcc-4.5.* - bo gryzie sie z tym kompilatorem.

Np u mnie:

```
root  # cpufreqd -D

*** buffer overflow detected ***: cpufreqd - terminated

cpufreqd: buffer overflow attack in function <unknown> - terminated

Report to http://bugs.gentoo.org/

Unicestwiony
```

Sznurek: https://bugs.gentoo.org/show_bug.cgi?id=318287

Łata u mnie nie rozwiązała problemu   :Confused: 

Co do ustawienia z palca, to np u mnie wygląda to tak (polecenie z roota):

```
cpufreq-set -c0 -f 2Ghz; cpufreq-set -c1 -f 2Ghz;
```

Mam 2 rdzenie.

Sprawdzenie częstotliwości:

```
grep -i mhz /proc/cpuinfo

cpu MHz      : 2000.000

cpu MHz      : 2000.000
```

Dostępne opcje:

```
cpufreq-info
```

To by bylo na tyle

 :Cool: 

----------

## SlashBeast

jak dasz -r to nie musisz oddzielnie dla obu rdzeni.

Dodatkowo mozesz uzyc governora ondemand i ustawic widelki, np. ma skakac od 1.6GHz do 2.0GHz czy 800MHz-1.2GHz.

----------

## Jacekalex

 *SlashBeast wrote:*   

> jak dasz -r to nie musisz oddzielnie dla obu rdzeni.
> 
> ........

 

Przynajmniej powinien, tyklo jakoś u mnie ani myśli zmieniać oba rdzenie za jednym zamachem.

Zawsze zmienia tylko rdzeń 0, chyba że wskaże rdzeń 1.

Po każdym poleceniu zmienia tylko 1 rdzeń.

```
root  # grep -i mhz /proc/cpuinfo

cpu MHz      : 2000.000

cpu MHz      : 2000.000

root  # cpufreq-set --related -f 2.66Ghz

root  # grep -i mhz /proc/cpuinfo

cpu MHz      : 2667.000

cpu MHz      : 2000.000
```

Próbowałem też wskazać 1 rdzeń + related - to samo.

Najwyraźniej działanie tej opcji zależy od tego drobiazgu:

```
root  # cat /sys/devices/system/cpu/cpu0/cpufreq/affected_cpus 

0

root  # cat /sys/devices/system/cpu/cpu0/cpufreq/related_cpus 

0
```

W jaju nigdzie nie widzialem parametru, który by to ustawiał, (może to moja ślepota?)

Być może procek C2D-E6750 , bios lub ACPI?

W rolach głównych udział wzięli:

```
 qlist -IvU cpufrequtils

sys-power/cpufrequtils-007 (nls)
```

Kernele: 2..6.34.*, 2.6.35.*,  2.6.36.*, 2.6.37.*, aż do 2.6.38.2 obecnie.

```
 cpufreq-info

cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009

Report errors and bugs to cpufreq@vger.kernel.org, please.

analyzing CPU 0:

  driver: acpi-cpufreq

  CPUs which run at the same hardware frequency: 0

  CPUs which need to have their frequency coordinated by software: 0

  maximum transition latency: 160 us.

  hardware limits: 2.00 GHz - 2.67 GHz

  available frequency steps: 2.67 GHz, 2.00 GHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 2.00 GHz and 2.67 GHz.

                  The governor "userspace" may decide which speed to use

                  within this range.

  current CPU frequency is 2.00 GHz.

  cpufreq stats: 2.67 GHz:1,00%, 2.00 GHz:99,00%  (7)

analyzing CPU 1:

  driver: acpi-cpufreq

  CPUs which run at the same hardware frequency: 1

  CPUs which need to have their frequency coordinated by software: 1

  maximum transition latency: 160 us.

  hardware limits: 2.00 GHz - 2.67 GHz

  available frequency steps: 2.67 GHz, 2.00 GHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 2.00 GHz and 2.67 GHz.

                  The governor "userspace" may decide which speed to use

                  within this range.

  current CPU frequency is 2.67 GHz.

  cpufreq stats: 2.67 GHz:4,43%, 2.00 GHz:95,57%  (4)

```

Pozdrawiam

 :Cool: Last edited by Jacekalex on Wed Sep 26, 2012 7:06 am; edited 1 time in total

----------

## zlomek

 *SlashBeast wrote:*   

> 
> 
> Dwa, cpufreq-set nie dziala z usera, nie jest to nic nadzwyczajnego, sam fakt jak to dziala (wysyla zmiany do /proc). 

 

SlashBeast wczesniej działało ustawiałem na panelu gnoma częstotliwości dla dwóch rdzeni, klikałem  i się przestawiały. 

Bardziej chodziło mi dlaczego podczas startu i pozniej nie mozna wystartować /etc/init.d/cpufreqd start 

Ostatni update przywrócił zmianę taktowania zegarów przez uzytkownika:

```
Mon Apr  4 11:12:30 2011 >>> app-arch/xz-utils-5.0.2

     Mon Apr  4 11:14:10 2011 >>> dev-python/pygtk-2.24.0-r1

     Mon Apr  4 11:53:36 2011 >>> net-libs/xulrunner-2.0-r1

     Mon Apr  4 11:55:19 2011 >>> www-client/firefox-4.0-r3

     Mon Apr  4 18:42:01 2011 >>> gnome-base/gnome-common-2.34.0

     Mon Apr  4 18:42:09 2011 >>> sys-kernel/module-rebuild-0.7

     Mon Apr  4 18:42:17 2011 >>> x11-base/xorg-drivers-1.10

     Mon Apr  4 18:44:07 2011 >>> dev-lang/vala-0.12.0

     Mon Apr  4 18:44:31 2011 >>> dev-libs/libatasmart-0.17

     Mon Apr  4 18:44:52 2011 >>> x11-misc/xkeyboard-config-2.2

     Mon Apr  4 18:46:02 2011 >>> gnome-base/gnome-session-2.32.1-r2

     Mon Apr  4 19:02:06 2011 >>> media-sound/teamspeak-client-bin-3.0.0_beta36
```

http://img839.imageshack.us/img839/5673/zrzutekranucf.png

----------

