ข้อความแปลก ๆ ในคอนโซลเกี่ยวกับคีย์ _DirtyJetsamMemoryLimit


36

ข้อความนี้จะปรากฏขึ้นเสมอในบันทึกของคอนโซลในช่วงเวลาปกติ

com.apple.xpc.launched: (comm.apple.imFoundation.IMRemoteURLConnectionAgent) the _DirtyJetsamMemoryLimit key is not available in this platform

ทุกคนสามารถอธิบายได้ว่าเหตุใดจึงแสดงผลและหากมีผลกระทบต่อประสิทธิภาพของระบบรวมถึงวิธีกำจัดทิ้ง


1
ฉันมีข้อความเดียวกันบนเครื่อง Yosemite สองเครื่อง (อันหนึ่งเป็นการอัพเกรดจาก Mavericks และอีกอันเป็นการติดตั้งที่สะอาด) ชั่วโมงการค้นหาทางอินเทอร์เน็ตทำให้ฉันว่างเปล่า…ผลลัพธ์ทั้งหมดที่อ้างถึงการเขียนโปรแกรม iOS (ดังนั้นอาจเป็นปัญหากับรหัสฐานข้อมูลที่แชร์หรือไม่) บางทีมันอาจต้องมีการอัพเดท 10.10.1 จาก Apple
Dustin Wheeler

ปัญหาเดียวกันที่นี่ บันทึกของคอนโซลด้านล่าง ไม่มีข้อผิดพลาดจริงที่ฉันเห็น แต่ใช้เวลาโหลดเกือบนาที 4/17/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) คีย์ _DirtyJetsamMemoryLimit ไม่สามารถใช้ได้บนแพลตฟอร์มนี้ 4/17/15 10: 31: 52.000 AM เคอร์เนล [0]: AppleCamIn :: power_on_hardware 4/17/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: การสร้างตัวรับเฟรม: 1280 x 720 (420v) [12.00 , 29.97] fps

ปัญหาเดียวกันที่นี่ ฉันใช้ macOS 10.13.4 High Sierra
neoneye

คำตอบ:


40

Jetsam เป็นระบบที่ใช้ตรวจสอบหน่วยความจำใน OSX และ iOS มันเก็บรายการกระบวนการบนอุปกรณ์เพื่อตรวจสอบสถานการณ์ที่อุปกรณ์หมด RAM ว่างและค้นหาสิ่งต่าง ๆ เพื่อฆ่าเพื่อเพิ่ม RAM นอกจากนี้ยังตรวจสอบกระบวนการที่ใช้ RAM มากเกินไป ละเมิดระดับ "เครื่องหมายน้ำสูง"

ข้อความแสดงข้อผิดพลาดนี้เป็นเพราะรหัสถูกแชร์ระหว่าง OSX และ iOS แต่คีย์ _DirtyJetsamMemoryLimit นั้นมีเฉพาะใน iOS เท่านั้น

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Jetsam ได้ที่ลิงค์ต่อไปนี้

http://newosxbook.com/articles/MemoryPressure.html

และหากคุณสนใจจริงๆคุณสามารถอ่านรหัส Jetsam บางส่วนในสองไฟล์ต่อไปนี้

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_memorystatus.c http://www.opensource.apple.com/source/xnu/xnu-1456.1.26 /bsd/sys/kern_memorystatus.h

เรื่องสั้นสั้นฉันไม่คิดว่าข้อความแสดงข้อผิดพลาดนี้จำเป็นต้องระบุถึงปัญหาประสิทธิภาพการทำงาน ระบบหน่วยความจำบน iOS นั้นเข้มงวดมากขึ้นเพราะ iOS ไม่มีสิ่งต่าง ๆ เช่น swapfiles (หรือที่รู้จักกันในหน่วยความจำเสมือน) ที่อนุญาตให้ระบบเกินจำนวนฟิสิคัลแรม OSX มีพื้นที่เหลือเฟือให้เล่น

ทุกคนสามารถตรวจสอบได้ว่าไม่มีผลกระทบต่อประสิทธิภาพโดยใช้การตรวจสอบกิจกรรมและแสดงกระบวนการทั้งหมดในมุมมอง CPU ดูที่syslogdบรรทัดและตรวจสอบให้แน่ใจว่าเวลาของ CPU นั้นสมเหตุสมผลเมื่อเทียบกับงานอื่น ๆ ที่คุณต้องการใช้กับ Mac ของคุณ


1
ตกลง. ดังนั้นจึงไม่มีการเชื่อมต่อระหว่าง _DirtyJetsamMemoryLimit นี้และการเกิดปัญหาซ้ำ ๆ บน Yosemite?

@Domnuldid ไม่มีการเชื่อมต่อ ฉันมี Macs ที่เสถียรซึ่งบันทึกข้อความแสดงข้อผิดพลาดนี้ตลอดเวลาดังนั้นจึงไม่มีสิ่งบ่งชี้ที่ชัดเจนว่าเป็นอะไรนอกจากบังเอิญ
bmike

@bmike เรามั่นใจว่าsysmondมีส่วนเกี่ยวข้องกับ Jetsam หรือไม่ ผมก็รู้สึกว่าเศษซากที่มีอยู่ทั้งหมดภายในเคอร์เนลและเป็นเพียงสิ่งที่ฟีดเช่นกิจกรรมการตรวจสอบและsysmond top
Alistair McMillan

@AlistairMcMillan ให้อภัยข้อผิดพลาดของฉัน - syslogdเป็น daemon ที่เกี่ยวข้องที่จะแสดง IO / CPU มากเกินไปเนื่องจากการประมวลผลไฟล์บันทึกและการกำหนดเส้นทางข้อความบันทึก คุณถูกต้องเกี่ยวกับsysmond
bmike

4
หากรหัสถูกแชร์ระหว่าง iOS และ OS X ดังนั้น Apple des ควรกรองข้อความบันทึกผลลัพธ์ ... ไม่แสดงข้อความที่เกี่ยวข้องกับ iOS บนคอมพิวเตอร์ OS X ... บันทึกของระบบจะกลายเป็นตราบใดที่พระคัมภีร์ ...
erwin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.