configd: แก้ไขปัญหาการใช้งาน CPU สูงด้วยกระบวนการ configd ใน Mac OS X

configd เป็นเดมอนการกำหนดค่าระบบที่ทำงานอยู่เบื้องหลัง Mac OS X ผู้ใช้ส่วนใหญ่จะไม่สังเกตเห็นหรือดูกระบวนการหลักของ OS X ที่ทำงานอยู่เบื้องหลัง Macs ของพวกเขา กับที่กล่าวว่า configd บางครั้งสามารถกระทำและทำให้เกิดการขัดขวาง CPU และพัดลมผิดปกติทำให้เสียง Mac ของคุณเหมือนกับอุโมงค์ลม พฤติกรรมแปลก ๆ ของ Configd ได้รับการวินิจฉัยโดยง่ายโดยการเปิดตัว Activity Monitor โดยเรียงตามตัวเลือก "% CPU" และเห็นกระบวนการของผู้ใช้ root 'configd' ที่ด้านบนอยู่ระหว่างซีพียู 20-95% ถ้าพฤติกรรมนั้นกินเวลานานหนึ่งนาทีหรือโดยปกติแล้วไม่ได้เป็นเรื่องใหญ่หรอกชั่วคราวอาจเป็นเรื่องปกติได้ดังนั้นเพียงแค่ปล่อยให้มันทำงานและไม่สนใจ แต่มีบางครั้งที่ Configd สามารถไปหลงทางอย่างลึกลับและใช้เวลาประมาณ 50% ของการใช้ CPU หรือมากกว่าเป็นเวลาหลายชั่วโมงโดยไม่มีเหตุผลที่ชัดเจน - นั่นคือสิ่งที่เราต้องการแก้ไขที่นี่

แก้ปัญหาการใช้ CPU สูงของ configd ด้วยการบังคับใช้ Relaunch ผ่าน Terminal

เราจะบังคับให้ configd ใหม่โดยการให้มันรวดเร็วในกางเกงโดยใช้คำสั่ง 'killall' ที่มีประสิทธิภาพทั้งหมด เนื่องจาก configd เป็นกระบวนการของระบบระบบจะเริ่มทำงานใหม่ทันทีที่ถูกฆ่าและในทุกกรณีที่ configd กำลังคลั่งไคล้ด้วยการใช้ประโยชน์จากตัวประมวลผลเทคนิคนี้จะแก้ปัญหาได้

เปิด Terminal (นั่งอยู่ภายใน / Applications / Utilities / ตามปกติ) และพิมพ์คำสั่งต่อไปนี้:

sudo killall configd

คุณจะต้องป้อนรหัสผ่านของผู้ดูแลระบบเพื่อดำเนินการคำสั่งดังกล่าวเป็นผู้ใช้ super ดังนั้นคำนำหน้า sudo การรันคำสั่งโดยไม่มี sudo ไม่มีผลเนื่องจากกระบวนการนี้เป็นของ root (super user)

ถ้าคุณเก็บ Activity Monitor ไว้เปิดและเรียงลำดับตามซีพียูคุณจะพบว่า 'configd' หายไปและเมื่อ relaunches มันไม่ได้นั่งอยู่ด้านบนของรายการอีกต่อไปและไม่กินอาหารจำนวนมากจนเกินไป การค้นหาขั้นตอนนี้น่าจะพบว่ามีการบริโภคระหว่าง 0 ถึง 1% ของ CPU

ถ้าคุณยังมีปัญหาเกี่ยวกับ configd หลังจากใช้คำสั่ง killall ให้ข้ามไปที่ด้านล่างของบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหา configd

จัดการกับ configd โดยไม่มี Terminal

ถ้าคุณไม่พอใจกับบรรทัดคำสั่งมีสองตัวเลือกอื่น ๆ :

  1. ออกจากแอ็พพลิเคชัน Mac ทั้งหมดที่กำลังทำงานอยู่ซึ่งคุณสามารถทำด้วยตนเองหรือใช้แอปที่สร้างขึ้นเองนี้เพื่อเลิกทำทุกอย่างใน OS X
  2. เริ่มต้น Mac ใหม่

การรีบูตเครื่อง Mac มีผลเช่นเดียวกับการฆ่ากระบวนการ configd โดยตรงแม้ว่าจะเห็นได้ชัดว่ามีขั้นตอนการทำงานล่วงล้ำมากขึ้น การเลิกใช้งานแอปพลิเคชันทุกครั้งสามารถช่วยได้หากข้อผิดพลาด configd เกิดจากพฤติกรรมที่ผิดพลาดของแอปมากกว่าในขณะนั้น

วินิจฉัยปัญหา configd เฉพาะและเรียนรู้เกี่ยวกับ configd

แอ็ปเปิ้ลอธิบายอย่างเป็นทางการ configd ดังนี้:

The configd daemon is responsible for many configuration aspects of the local system. configd maintains data reflecting the desired and current state of the system, provides notifications to applications when this data changes, and hosts a number of configuration agents in the form of loadable bundles.

ข้อความที่ตัดมาจากหน้าคู่มือเกี่ยวกับ configd ซึ่งสามารถเข้าถึงได้โดยการพิมพ์ข้อความต่อไปนี้ลงในเทอร์มินัล:

man configd

คุณสามารถอ่านได้โดยตรงจากเครื่อง Mac ผ่านทางบรรทัดคำสั่งหรือผ่านทางเว็บโดยใช้ไลบรารีของนักพัฒนาซอฟต์แวร์ที่นี่

ถ้าคุณต้องการที่จะวินิจฉัยว่าทำไม configd ถึงได้บ้าไปในตอนแรกคุณสามารถมองไปรอบ ๆ ในสองตำแหน่งต่อไปนี้สำหรับการจัดกลุ่ม configd และไฟล์ plist ซึ่งอาจให้คำแนะนำบางอย่างเกี่ยวกับสิ่งที่เกิดขึ้นไม่ถูกต้องและเหตุผล:

/System/Library/SystemConfiguration/
/Library/Preferences/SystemConfiguration/

อีกทางเลือกหนึ่งคือเลือกที่จะรัน configd อีกครั้งในโหมด verbose ด้วยคำสั่งต่อไปนี้:

sudo /usr/libexec/configd -v

นี้จะส่งออกข้อมูล verbose ไปยัง OS X System Console ซึ่งสามารถอ่านได้ทั้งจาก app Console หรือผ่านทางบรรทัดคำสั่งเช่นกัน การเปรียบเทียบข้อมูลดังกล่าวกับสิ่งที่พบในไดเร็กทอรีระบบดังกล่าวจะเป็นประโยชน์ในการวินิจฉัยสาเหตุที่แม่นยำ

ประสบการณ์ทั่วไปแสดงให้เห็นว่าแอพพลิเคชันและกระบวนการบางอย่างก่อให้เกิดปัญหา configd บ่อยกว่าที่อื่นบางแห่งอาจรวมถึงบริการที่ใช้ Java และ Java เช่น CrashPlan เครื่องพิมพ์บางเครื่องที่มีข้อผิดพลาดในการพิมพ์ที่ไม่ได้รับการแก้ไขและการกำหนดค่าเครือข่ายที่ไม่ถูกต้องซึ่งการเชื่อมต่อเครือข่ายพยายามซ้ำ ๆ และล้มเหลว นี่เป็นเหตุผลที่บางครั้งการเลิกใช้งานแอปพลิเคชันทั้งหมดมีประสิทธิภาพในการแก้ไขปัญหาเพราะอาจทำให้เกิดความซ้ำซ้อนที่ไม่สามารถทำให้เกิดปัญหาได้และในบางกรณีการฆ่า configd ไม่สามารถแก้ปัญหาได้แล้วการลบไฟล์ plist ของผู้ร้ายผิดพลาดสามารถแก้ได้ ปัญหาทันทีและสำหรับทั้งหมด ประสบการณ์และผลลัพธ์แต่ละอย่างของคุณอาจแตกต่างกันไป