ทำไม Raspberry Pi ของฉันจะโอเวอร์คล็อกไม่ได้?


22

ฉันแก้ไขไฟล์ / boot/config.txt เพื่อเพิ่มความเร็วของ CPU เป็น 800MHz

dmesg รวมถึงบรรทัดต่อไปนี้

bcm2835-cpufreq: Freq 800000->700000 (min=700000 max=800000 target=700000 request=700000)

แน่นอนว่า CPU ของฉันทำงานที่ 700MHz เท่านั้น

ทำไม Raspberry Pi ของฉันจะโอเวอร์คล็อกไม่ได้?

ฉันใช้ Occidentalis 0.2


โหมดเทอร์โบจะโอเวอร์คล็อกซีพียูที่โหลด 95% เท่านั้น อย่างไรก็ตามคุณสามารถเปลี่ยนขีด จำกัด นั้นโดยไม่บังคับให้โหมด Turbo ทำงานตลอดเวลา ดูคำถามที่เกี่ยวข้องนี้: raspberrypi.stackexchange.com/q/5477/6516
Enrico Campidoglio

คำตอบ:


28

มีการเปลี่ยนแปลงในเฟิร์มแวร์ / เคอร์เนลเมื่อเร็ว ๆ นี้ที่เปิดใช้งานการปรับความถี่ CPU เคอร์เนล ตอนนี้คุณไม่ได้ตั้งค่าความถี่ของ CPU แบบคงที่ใน config.txt แต่คุณตั้งค่าความถี่สูงสุด หากระบบของคุณโหลดอยู่ก็จะเปลี่ยนความถี่ของ CPU เป็นค่าที่สูงขึ้น (เรียกว่าturbo modeคุณสามารถเห็นการmaxตั้งค่าในบันทึกของคุณ) แต่ถ้าระบบของคุณไม่ได้ใช้งานระบบจะลดความถี่ให้เหลือน้อยที่สุด (โดยค่าเริ่มต้น ค่าเริ่มต้นของ RaspberryPi - 700MHz สำหรับ ARM, 250MHz สำหรับ core, 400MHz สำหรับ SDRAM) นอกจากนี้ยังจะลดแรงดันไฟฟ้าหากคุณใช้การตั้งค่าแรงดันไฟฟ้าเกิน โดยใช้ตัวควบคุมondemandความถี่เริ่มต้น

คุณสามารถเปลี่ยนค่าเริ่มต้น (ใช้เมื่อไม่ได้ใช้งาน) กับarm_freq_min, gpu_freq_min, core_freq_min, sdram_freq_minและ ตัวเลือกในover_voltage_min config.txtคุณยังสามารถปิดใช้งานลักษณะการทำงานนี้และกลับสู่สิ่งที่ใช้งานได้ก่อนที่การเปลี่ยนแปลงนี้จะนำไปใช้กับเฟิร์มแวร์force_turbo=1ในไฟล์ config.txt ของคุณ วิธีนี้การปรับขนาดความถี่ CPU จะถูกปิดการใช้งาน

นอกจากนี้ยังมีการเปลี่ยนแปลงอีกสองครั้งเมื่อforce_turbo=0(ซึ่งเป็นค่าเริ่มต้น):

  • h264 / v3d / isp freqencies ไม่ได้ถูกปรับอัตราส่วนดังนั้นหากคุณต้องการโอเวอร์คล็อกพวกเขาคุณต้อง force_turbo=1
  • ค่าสูงสุดของแรงดันไฟฟ้าเกินคือ 6 (1.35V) แทน 8

นอกจากนี้ยังทราบว่าคุณสามารถเปลี่ยนบางส่วนของการกำหนดค่าความถี่ (อย่างน้อยสำหรับ ARM) sysfsแบบไดนามิกโดยใช้ ลองดูที่:

/sys/devices/system/cpu/cpu0/cpufreq/

คุณสามารถอ่านเกี่ยวกับการเปลี่ยนแปลงนี้ที่นี่


นี่เป็นหนึ่งในคำตอบที่ดีที่สุดและแสดงให้เห็นว่าทำไมราสเบอร์รี่ Pi.SE จึงมีความสำคัญ
Alex Chamberlain

1
มันน่าสังเกตว่าการรวมกันของการปิดใช้งานโหมด Turbo ด้วยforce_turbo=1 และช่วยให้ overvolting จะเป็นโมฆะการรับประกัน
Enrico Campidoglio

การเปิดใช้งาน force_turbo ยังปิดการใช้งานการปรับความถี่สัญญาณนาฬิกาแบบไดนามิกโดย cpu เนื่องจากฉันพบว่า cpu ของฉันไม่ทำงานอย่างต่อเนื่องกับสิ่งที่ฉันตั้งให้ทำงาน (1GHz) ใน config.txt แต่บางครั้งก็ทำงานที่ 700MHz หลังจากผ่านไปสักพัก ?
user123456098

4

เพิ่มในของคุณforce_turbo=1config.txt


8
สวัสดี Adibek ยินดีต้อนรับสู่ RaspberryPi.SE คำตอบที่ดีที่สุดที่นี่มักจะมีการอ้างอิงการอ้างอิงหรือข้อมูลพื้นหลัง นี่คือการช่วยให้ผู้ใช้เข้าใจปัญหาของพวกเขามากกว่าเพียงแค่แก้ไข
Jivings

ฉันเห็นด้วยกับ @Jivings ข้อมูลอ้างอิงหรือข้อมูลพื้นหลังบางอย่างจะมีประโยชน์สำหรับผู้เข้าชมในอนาคตที่เห็นคำถามนี้
hifkanotiks

2

สำหรับฉันมันเป็นผู้ว่าการปรับสเกลซึ่งป้องกันการโอเวอร์คล็อก เพียงอ่านคำตอบที่ถูกต้องสำหรับคำถามนี้ที่นี่: จะเปลี่ยนผู้ว่าการเริ่มต้นอย่างไร

ตอนนี้ราสเบอร์รี่ของฉันทำงานบน 1150MHz


1
ผู้ว่าการปรับสเกลจะไม่ป้องกันการโอเวอร์คล็อก มันจะลดความถี่ของโปรเซสเซอร์กลับคืนมาเมื่อไม่ได้ใช้งานจริง ทันทีที่จำเป็นมันจะเพิ่มความถี่ขึ้น /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freqความถี่เป็นไปได้สูงสุดจะแสดงใน
goldilocks

2
ในกรณีของฉันผู้ว่าการถูกตั้งค่าเป็น "powersave" ฉันมี 1000MHz เป็นความถี่ cpu สูงสุด แต่ไม่ถึงความถี่นี้เป็นความถี่ปัจจุบัน หลังจากที่ฉันตั้งค่า governer เป็น "ondemand" หรือ "performance" ฉันสามารถรับความถี่ซีพียูที่สูงขึ้น
syss

1
คุณถูกต้องค่าเริ่มต้นคือ powersave ฉันเดาว่านั่นเป็นเพราะการโอเวอร์คล็อกแบบ Sans มันไม่สำคัญ - min และ max freq เหมือนกัน (700000) ใน Pi 2 ฉันคิดว่ามีช่วงที่เป็นไปได้ (600,000 และ 900,000)
goldilocks
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.