Python os.memfd_create()로 이름 없는 메모리 파일 다루기

프로세스 간에 잠깐 쓰고 버릴 데이터를 주고받을 때 /tmp에 실제 파일을 만들면 디스크(또는 tmpfs) 경로가 남고, 정리를 깜빡하면 흔적이 계속 쌓인다. memfd_create()는 파일시스템 어디에도 나타나지 않는 익명 메모리 파일을 만들어…

Continue ReadingPython os.memfd_create()로 이름 없는 메모리 파일 다루기

Python mmap으로 파일을 메모리처럼 다루기

파일 크기가 물리 메모리를 넘어서면 open().read()로 통째로 읽는 순간 프로세스 메모리가 그만큼 늘어나 OOM killer에 걸릴 수 있다. Python 표준 라이브러리 mmap은 파일을 프로세스의 가상 주소 공간에 매핑해서, 실제로 접근한…

Continue ReadingPython mmap으로 파일을 메모리처럼 다루기