7P by ffdd270 2020-07-24 | favorite | 댓글 4개

리눅스 Ruby에 한정한 글입니다.

루비를 모르시더라도 읽어 보실만한 글로, OS, 인터프리터단에서 메모리를 어떻게 관리하는지. 페이징과 페이징 풀은 어떻게 사용되는지. 메모리 단편화에 대한 설명들이 친절하게 되어있는 글입니다.

메모리 릭을 추적하는 방법에서 배울 점이 많아 보이네요.

그런데 말이 glibc이지, 사실상 표준 C 라이브러리를 사용하는 모든 리눅스 프로그램들 중 멀티스레드를 사용하는 프로젝트는 모두 영향이 있을 법 하군요 ;ㅁ ;

파이썬도 glibc 에 의존하는 만큼 동일한 문제가 있어서 기본 얼로케이터 대신에 Jemalloc을 사용해서 메모리 파편화 줄이는 방법도 있고 합니다.

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

그나저나 이 문장이 굉장히 인상깊네요...

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

도구가 없더라고요 -> 그래서 만들었어요.

프로그래머의 멋진 자세라고 생각합니다.