หลายคนมีปัญหากับ Ubuntu 14.04, 16.04 และ 16.10 ที่ระบบค้างอย่างสมบูรณ์และฉันเป็นหนึ่งในนั้น
ฉันต้องการทราบว่า Ubuntu 17.04 จะแก้ไขปัญหานี้หรือไม่ไม่ว่าจะได้รับการแก้ไขแล้วในอิมเมจ ISO รุ่นทดลองที่ 17.04 ก่อนที่ฉันจะลองดาวน์โหลดและทดสอบ
หลายคนมีปัญหากับ Ubuntu 14.04, 16.04 และ 16.10 ที่ระบบค้างอย่างสมบูรณ์และฉันเป็นหนึ่งในนั้น
ฉันต้องการทราบว่า Ubuntu 17.04 จะแก้ไขปัญหานี้หรือไม่ไม่ว่าจะได้รับการแก้ไขแล้วในอิมเมจ ISO รุ่นทดลองที่ 17.04 ก่อนที่ฉันจะลองดาวน์โหลดและทดสอบ
คำตอบ:
การค้างเหล่านี้เกิดขึ้นเมื่อตัวประมวลผลพยายามป้อนสถานะพลังงานต่ำ (c-state) ที่เคอร์เนลไม่สนับสนุน ปัญหานี้ได้รับการแนะนำโดย
commit 8fb55197e64d5988ec57b54e973daeea72c3f2ff
Date: Tue Apr 7 16:20:28 2015 +0100
drm/i915: Aggressive downclocking on Baytrail
สิ่งนี้อัปสตรีมในเคอร์เนล 4.2 และเรามีปัญหาตั้งแต่นั้นมา ดังที่อธิบายไว้ในคำตอบของ heynnema (และโพสต์นี้ที่ฉันพยายามรวบรวมข้อมูล ) มีวิธีแก้ไขที่ตรงไปตรงมาและมีประสิทธิภาพผ่านพารามิเตอร์บูตที่ปิดการใช้งานสถานะพลังงานต่ำ
รุ่นเบต้าของ 17.04 การใช้งานอยู่ในปัจจุบัน 4.9 (มันขึ้นอยู่กับต้นน้ำ 4.9.6 ที่ผมเข้าใจ) และเมื่อถึงเวลาที่จะปล่อยออกมาในเดือนเมษายนผมเชื่อว่ามันจะใช้ 4.10 ปัญหายังคงมีอยู่ในเมล็ดเหล่านี้ดังนั้นผมจึงได้ข้อสรุปว่ามันจะไม่คงที่ ณ ขณะนี้ ฉันตรวจสอบการเปลี่ยนแปลงเคอร์เนล Ubuntu และไม่พบสิ่งใด แต่โปรดแก้ไขให้ถูกต้องถ้าฉันผิด
ฉันติดตามข้อผิดพลาดของ c-state ที่นี่ใน kernel.orgมาเป็นเวลานาน ในเดือนมกราคม 2560 Mika Kuoppala เพิ่มแพตช์นี้ในเธรด เห็นได้ชัดว่ามันจะย้อนกลับการกระทำก่อนหน้าซึ่งก่อให้เกิดปัญหา แพทช์เรียกว่า
drm/i915/byt: Avoid tweaking evaluation thresholds
การทดสอบแสดงให้เห็นผลลัพธ์ที่ดีมากสำหรับแพทช์นี้ซึ่งส่งไปยังเจ้าของไดรเวอร์ i915 ในวันที่ 25 มกราคม ทุกอย่างเป็นไปด้วยดีมันอาจถูกรวมเข้าในหน้าต่าง 4.11 เคอร์เนล 4.11 อาจจะเปิดตัวประมาณปลายเดือนเมษายน เวอร์ชันของโปรแกรมแก้ไขนี้ถูกรวมในหน้าต่าง 4.11 และรายงานระบุว่าข้อผิดพลาดได้รับการแก้ไขใน 4.11
โปรเซสเซอร์ BayTrail ที่ยุ่งยากแต่ละตัวทำงานแตกต่างกันเล็กน้อยกับเคอร์เนลแต่ละตัวที่แตกต่างกัน ใน 16.04 (เคอร์เนล 4.4) สถานะการออนไลน์ของฉันบน Atom Z3735F โดยไม่มีพารามิเตอร์ intel_idle คือประมาณ 15 นาทีก่อนที่จะแช่แข็ง ฉันทดสอบเบต้า 17.04 ISO ในโหมดสดและฉันไม่ได้ค้างใน 90 นาทีดังนั้นดูเหมือนว่าฉันโชคดีที่มีเคอร์เนลนี้ คุณสามารถทำสิ่งเดียวกันเพื่อทดสอบภาพใด ๆ บนระบบของคุณเพียงแค่สร้าง USB ที่สามารถบู๊ตได้และ "ลอง Ubuntu โดยไม่ต้องติดตั้ง" และทดสอบให้นานที่สุด
เมื่อ 17.04 ออกมาฉันติดตั้งและในสองสัปดาห์แรกที่ฉันรันโดยไม่มีintel_idle
พารามิเตอร์ฉันมีการค้างสถานะ c-state สามครั้งเท่านั้นซึ่งเป็นการปรับปรุงครั้งใหญ่ในเวอร์ชันก่อนหน้า
สิ่งที่ปลอดภัยที่สุดที่ต้องทำคือใช้พารามิเตอร์การบู๊ต จากการวิจัยของฉันฉันคาดว่าข้อผิดพลาดจะได้รับการแก้ไขใน 17.10 (และในการเผยแพร่ distro อื่น ๆ ในปลายปีนี้) ซึ่งจะใช้เคอร์เนล> = 4.11 แต่ไม่ใช่ใน 17.04
อย่างไรก็ตามมีความเป็นไปได้ที่ทีมเคอร์เนลของ Ubuntu จะทำการแก้ไขด้วยตนเอง หากคุณสามารถทนต่อการรันระบบที่ไม่เสถียรเป็นครั้งคราวคุณสามารถดูความคืบหน้าได้โดยการรันการอัพเดทปกติ ( sudo apt update && sudo apt full-upgrade
) และทดสอบเคอร์เนลใหม่แต่ละตัวโดยไม่ต้องใช้พารามิเตอร์การบู๊ตเมื่อมาถึง นอกจากนี้คุณยังสามารถอ่านประวัติการเปลี่ยนแปลงเป็นแพคเกจใหม่มีการติดตั้งหรือ (อีกครั้งถ้าคุณสามารถทนต่อความไม่แน่นอน) ติดตั้งเคอร์เนลฉีด
i915
ดังนั้นจึงมีแนวโน้มที่จะได้รับการแก้ไขโดยแพทช์เดียวกัน แต่รายงานข้อผิดพลาดเกี่ยวกับปัญหาที่แก้ไขโดยพารามิเตอร์ intel_idle และหากไม่ได้ผลสำหรับคุณมันเป็นข้อผิดพลาดที่แตกต่างกันตาม เคอร์เนล คุณช่วยกรุณาจัดทำรายงานข้อผิดพลาดหรือกระทู้ฟอรั่ม (คุณบอกว่าคนอื่นแบ่งปันปัญหาของคุณ) ที่ฉันสามารถหาข้อมูลเพิ่มเติมเพื่อให้ฉันสามารถแนะนำคุณว่าจะทำอย่างไรต่อไป? (ฉันคิดว่าคุณอาจต้องถามคำถามใหม่)
มีการแก้ไขสำหรับนี้เป็นวิธีการตั้งค่า intel_idle.max_cstate = 1
ในterminal
ประเภท:
gksudo gedit /etc/default/grub
และเปลี่ยนบรรทัดนี้:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
เพื่อรวมสิ่งนี้:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
จากนั้นทำ:
sudo update-grub
reboot
นี่เป็นปัญหาของ Intel ไม่ใช่ปัญหาของ Ubuntu แต่ขอบคุณพระเจ้าที่เราได้แก้ไข
ไม่มีใครรู้ว่า Ubuntu 17.04 จะต้องมีการแก้ไขนี้หรือไม่
ตามความเห็น # 1013 ในรายงานข้อผิดพลาดตอนนี้ได้รับการแก้ไขแล้ว:
ฉันไม่ได้ตรวจสอบชุดข้อความนี้เป็นเวลานาน แต่ฉันคิดว่าฉันควรโพสต์สิ่งที่ฉันค้นพบในกรณีที่มีประโยชน์กับทุกคน
คอมพิวเตอร์ต่ำสุดที่ขับเคลื่อนด้วย Intel N2807 ซึ่งไม่เคยทำงานมากกว่า 30 ล้านโดยไม่หยุดทำงานเมื่อฉันไม่ได้ตั้งค่า ... max_cstates = 1 ตอนนี้ทำงานได้ดีกับหุ้นเคอร์เนล v. 5.3.1 หรือ 4.19.75 ฉันวิ่งไปสองสามวันกับแต่ละรุ่นโดยไม่มีปัญหาใด ๆ การใช้พลังงานเฉลี่ยก็ลดลงกว่า 10% เล็กน้อย
การแก้ไขข้อผิดพลาดนี้ใช้เวลาประมาณสี่ปีก่อนวันที่ 8 ธันวาคม 2558