7 คะแนน โดย ffdd270 2020-07-24 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

บทความนี้จำกัดอยู่ที่ Ruby บน Linux

แม้คุณจะไม่รู้จัก Ruby ก็ยังเป็นบทความที่น่าอ่าน โดยอธิบายอย่างเป็นมิตรว่า OS และชั้นอินเทอร์พรีเตอร์จัดการหน่วยความจำอย่างไร รวมถึงมีการใช้งาน paging และ paging pool อย่างไร และมีคำอธิบายเรื่อง memory fragmentation ไว้อย่างเข้าใจง่าย

ดูเหมือนว่าจะมีหลายจุดให้นำไปเรียนรู้ได้จากวิธีการติดตาม memory leak

4 ความคิดเห็น

 
ffdd270 2020-07-24

แต่ว่าถ้าพูดว่าเป็นเรื่องของ glibc แล้ว ที่จริงก็ดูเหมือนว่าโปรเจกต์ลินุกซ์ทั้งหมดที่ใช้มัลติเธรดในบรรดาโปรแกรมที่ใช้ standard C library แทบจะได้รับผลกระทบกันหมดเลยนะ ;_;

 
novemberoscar 2020-07-24

เนื่องจาก Python เองก็พึ่งพา glibc จึงมีปัญหาเดียวกันอยู่ และก็มีวิธีลดการแตกกระจายของหน่วยความจำด้วยการใช้ Jemalloc แทน allocator พื้นฐานเช่นกัน

http://egloos.zum.com/mcchae/v/11175458

 
novemberoscar 2020-07-24

ว่าแต่ ประโยคนี้น่าประทับใจมากจริงๆ...

there are no tools that allow me to do that. -- So I wrote an OS heap visualizer myself.

 
ffdd270 2020-07-24

ไม่มีเครื่องมือใช่ไหม -> งั้นก็สร้างมันขึ้นมาเอง

ผมคิดว่านี่คือทัศนคติที่ยอดเยี่ยมของโปรแกรมเมอร์