ทำไม Ruby ถึงใช้หน่วยความจำมากขนาดนี้?
(joyfulbikeshedding.com)บทความนี้จำกัดอยู่ที่ Ruby บน Linux
แม้คุณจะไม่รู้จัก Ruby ก็ยังเป็นบทความที่น่าอ่าน โดยอธิบายอย่างเป็นมิตรว่า OS และชั้นอินเทอร์พรีเตอร์จัดการหน่วยความจำอย่างไร รวมถึงมีการใช้งาน paging และ paging pool อย่างไร และมีคำอธิบายเรื่อง memory fragmentation ไว้อย่างเข้าใจง่าย
ดูเหมือนว่าจะมีหลายจุดให้นำไปเรียนรู้ได้จากวิธีการติดตาม memory leak
4 ความคิดเห็น
แต่ว่าถ้าพูดว่าเป็นเรื่องของ glibc แล้ว ที่จริงก็ดูเหมือนว่าโปรเจกต์ลินุกซ์ทั้งหมดที่ใช้มัลติเธรดในบรรดาโปรแกรมที่ใช้ standard C library แทบจะได้รับผลกระทบกันหมดเลยนะ ;_;
เนื่องจาก Python เองก็พึ่งพา glibc จึงมีปัญหาเดียวกันอยู่ และก็มีวิธีลดการแตกกระจายของหน่วยความจำด้วยการใช้ Jemalloc แทน allocator พื้นฐานเช่นกัน
http://egloos.zum.com/mcchae/v/11175458
ว่าแต่ ประโยคนี้น่าประทับใจมากจริงๆ...
ไม่มีเครื่องมือใช่ไหม -> งั้นก็สร้างมันขึ้นมาเอง
ผมคิดว่านี่คือทัศนคติที่ยอดเยี่ยมของโปรแกรมเมอร์