คำถามติดแท็ก memory-leak

1
วิธีระบุการใช้งาน CPU และหน่วยความจำต่อกระบวนการบน iPhone
มีแอพทั่วไปมากมายที่สามารถแสดงการใช้ RAM ของระบบทั้งหมดและฟรี อย่างไรก็ตามความเข้าใจของฉันเป็นเพียงโทรศัพท์ที่ถูกเจลเบรคเท่านั้นที่สามารถเข้าถึง API เพื่อเข้าถึงการใช้หน่วยความจำต่อกระบวนการบน iOS เราจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพมากที่สุดได้อย่างไร? ลิงค์นี้มีเครื่องมือตัวอย่างเล็กน้อย แต่ดูเหมือนว่ามันจะล้าสมัยและไม่มีข้อมูลหากทำงานบน iOS 5 และ iOS 6 http://www.ifans.com/forums/threads/troubleshooting-memory-issues.142660/

4
Finder จะใช้หน่วยความจำจำนวนมากเมื่อใด
บางครั้งฉันเห็น iMac พร้อม RAM ขนาด 4GB ที่มีไฟล์ swap ไม่กี่ MB เท่านั้นและหลังจากฉันออกไปสองสามชั่วโมงและกลับมาไฟล์ swap คือ 2.7GB เมื่อดูในการตรวจสอบกิจกรรมเครื่องมือค้นหาใช้ 796MB มันจะใช้หน่วยความจำได้มากขนาดไหน - เป็นเพราะ "Search" บางอย่างที่เหลืออยู่ในหน้าต่าง Finder หรือไม่? ฉันเลือกไฟล์ -> ปิดทั้งหมด (โดยกดปุ่มOptionขณะคลิกไฟล์และปิดหน้าต่าง Finder ทั้งหมดเท่านั้นที่ยังไม่ปิด แต่ซ่อนอยู่และดูเหมือนว่าวิธีเดียวที่จะรีบูตสถานการณ์นี้เป็นอย่างไร สามารถป้องกันได้หรือไม่

2
เหตุใดหน่วยความจำที่รั่วไหลจึงปรากฏ malloced ไปที่ kernel_task และทำไม OS X จึงไม่สามารถรวบรวมขยะได้
ก่อนหน้านี้ฉันได้รับแจ้งว่ามีสัญญาณว่าบางแอปพลิเคชันมีหน่วยความจำรั่วนั่นคือkernel_taskมีหน่วยความจำขนาดใหญ่ตามลำดับหน่วยเป็นกิกะไบต์ หากมีข้อผิดพลาดkextทำให้การใช้งานหน่วยความจำนี้เราคาดว่าจะเห็นความแตกต่างระหว่างหน่วยความจำที่จัดสรรและที่คาดว่าจะได้รับการจัดสรรคือ diff <(kextstat|tr -s ' ' | cut -d ' ' -f 5) <(kextstat| tr -s ' ' | cut -d ' ' -f 6) จะส่งคืนสิ่งอื่นนอกเหนือจากคำว่า 'Wired' และ 'Name' ในขณะที่เขียนวิทยานิพนธ์ของฉันฉันสังเกตเห็นว่าการเปลี่ยนไฟล์ PDF ในขณะที่เปิดอยู่ในหน้าตัวอย่างมักจะทำให้สิ่งเลวร้ายเกิดขึ้น: บางครั้งการใช้หน่วยความจำของkernel_taskสามารถเติบโตถึงประมาณแปดกิกะไบต์หรือมากกว่า ถ้าฉันฆ่าภาพตัวอย่างก็จะกลับสู่ปกติได้ทันที เห็นได้ชัดว่ามีบางอย่างผิดปกติและพรีวิวกำลังรั่วหน่วยความจำภายใต้เงื่อนไขเหล่านี้ ดังนั้นคำถามของฉันคือ: ถ้าฉันรู้ว่ากระบวนการรั่ว ram ผ่านการเพิ่มขึ้นอย่างกะทันหันและคาดไม่ถึงkernel_taskทำไมOS Xจึงไม่สามารถรู้ได้ว่ามีบางอย่างผิดปกติ ถ้าฆ่าดูตัวอย่างเรียกคืนของฉันหายไปmalloc()'d หน่วยความจำทำไมไม่ดาร์วินทำเก็บขยะโดยอัตโนมัติสำหรับฉันหรือไม่ ฉันมีความเข้าใจผิดพื้นฐานเกี่ยวกับการจัดการหน่วยความจำหรือไม่ แก้ไข: (15/9/15) นี่คือการสาธิตสิ่งที่ฉันพูดถึง ก่อนอื่นฉันสังเกตเห็นการใช้หน่วยความจำสูงด้วยkernel_task(หมายเหตุเปิดตัวอย่างอยู่ที่ด้านล่างของ Activity Monitor ...

2
จะค้นหาแอพที่มีหน่วยความจำรั่วใน OSX 10.6.8 ได้อย่างไร?
ฉันมี MacBook รุ่นเก่าปี 2008 ที่มีหน่วยความจำ 4GB (หน่วยความจำจากเกี่ยวกับ Mac เครื่องนี้ everymac.com ให้หมายเลขต่างกัน) ฉันรู้ว่ามันเก่า แต่ก็เกือบจะดูเหมือนว่าช้ากว่าที่ควร ฉันมีซอฟต์แวร์จำนวนมากดังนั้นฉันจึงสงสัยว่าจะหากระบวนการรั่วไหลของหน่วยความจำได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.