ไม่สามารถใช้ผู้ใช้ "userspace" cpufreq และตั้งความถี่ cpu ได้


22

ฉันพยายามเปลี่ยนความถี่ cpu บนแล็ปท็อปของฉัน (ใช้ Linux) และไม่ประสบความสำเร็จ
นี่คือรายละเอียดบางส่วน:

# uname -a
Linux yoga 3.12.21-gentoo-r1 #4 SMP Thu Jul 10 17:32:31 HKT 2014 x86_64 Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz GenuineIntel GNU/Linux

# cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 800 MHz - 2.60 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 2.60 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 2.42 GHz (asserted by call to hardware).
(similar information for cpus 1, 2 and 3)

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

ตอนแรกฉันมีผู้ว่าราชการ userspace ที่สร้างขึ้นในเคอร์เนล แต่จากนั้นฉันก็พยายามสร้างมันเป็นโมดูล (ที่มีผลลัพธ์เดียวกัน); มันถูกโหลดขณะรันคำสั่งข้างต้น (และฉันไม่พบข้อความระบบใด ๆ เมื่อทำการโหลด):

# lsmod
Module                  Size  Used by
cpufreq_userspace       1525  0
(some other modules)

และนี่คือคำสั่งที่ฉันพยายามเปลี่ยนความถี่:

# cpufreq-set -f 800MHz
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?

# cpufreq-set -g userspace  
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?

ความคิดใด ๆ


@don_crissti ขอบคุณเฮ้ฉันพยายามecho 1 > /sys/devices/system/cpu/intel_pstate/no_turboและตื่นตระหนกเคอร์เนลทันที: p จากนั้นฉันรีบูทด้วยintel_pstate=disableและตอนนี้มันใช้ acpi-cpufreq แต่ฉันก็ยังไม่สามารถตั้งค่าความถี่ได้ (แม้ว่าฉันจะไม่ได้รับข้อความแสดงข้อผิดพลาดอีกต่อไป) แต่ทำไมไม่แสดงความคิดเห็นคำตอบของคุณล่ะ?
aditsu

@don_crissti ฉันไม่รู้เกี่ยวกับ cpupower; มันมีไวยากรณ์ที่น่ารังเกียจบ้าง แต่ดูเหมือนว่าจะทำงานได้ดีกว่า cpufreq ตอนนี้ฉันสามารถตั้งค่าความถี่ได้แล้ว :) ขอบคุณมากและอย่าลืมโพสต์คำตอบ (เว้นแต่คุณไม่ต้องการคะแนน)
aditsu

คำตอบ:


41

intel_pstateนี้เป็นเพราะระบบของคุณโดยใช้ไดรเวอร์ใหม่ที่เรียกว่า มีเพียงสองผู้ว่าราชการสามารถใช้ได้เมื่อใช้ไดรเวอร์นี้: และpowersave ผู้ว่า การรัฐจะใช้งานได้เฉพาะกับไดรเวอร์รุ่นเก่า(ซึ่งจะถูกใช้โดยอัตโนมัติหากคุณปิดการใช้งานในเวลาบูตจากนั้นคุณตั้งค่าผู้ว่าการ / ความถี่ด้วย):performance
userspaceacpi-cpufreqintel_pstatecpupower

  • ปิดการใช้งานไดรเวอร์ปัจจุบัน: เพิ่มลงintel_pstate=disableในเคอร์เนลของคุณ
  • บูตจากนั้นโหลดuserspaceโมดูล:modprobe cpufreq_userspace
  • ตั้งผู้ว่าการ: cpupower frequency-set --governor userspace
  • ตั้งค่าความถี่: cpupower --cpu all frequency-set --freq 800MHz

ขอบคุณ btw ชุดความถี่ดูเหมือนจะทำสิ่งเดียวกันโดยไม่ต้อง--cpu all
aditsu

3
จะต้องมีข้อเสียบางประการในการใช้ไดรเวอร์เก่า พวกเขาคืออะไร
kontextify

2
@kontextify ผู้ใช้ที่มีความสุขมากกว่ามีแนวโน้มน้อยที่จะสมัครใจทดลองหนูเพื่อทดสอบการเปิดตัวใหม่
เมฟีสโต

0

คำตอบอยู่ในคำถามของคุณ:

for core in $(seq 0 "$(($(getconf _NPROCESSORS_ONLN) - 1))"); do
echo {performance|powersave} >/sys/devices/system/cpu/cpu$core/cpufreq/scaling_governor ;
done

สิ่งนั้นและเคอร์เนลต้องถูกคอมไพล์ด้วยเปิดใช้งานผู้ว่าราชการพื้นที่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.