디지털 라이브러리[ 검색결과 ]
검색 : [ author: KyungSeok Lee ] (1)
Scudo 메모리 할당자의 메모리 사용 효율성 분석
http://doi.org/10.5626/JOK.2023.50.2.103
모바일 시스템에서는 다양한 어플리케이션이 제한된 메모리 용량을 공유하기 때문에 메모리 사용량을 최적화하는 것이 중요하다. 안드로이드의 기본 메모리 할당자인 Scudo는 힙-메모리 관련 취약점 완화와 메모리 할당 성능 최적화를 고려하려 설계되었지만, 메모리 사용량 측면의 비효율성이 존재한다. 본 논문에서는 Scudo의 구조와 동작 방식을 기반으로 두 가지 문제에 대해 분석한다. 첫 번째로 고정 개수의 로컬캐시의 할당으로 인한 문제를 분석하며, 이후 두 번째로는 비효율적인 프리 청크 관리 정책으로 인해 발생하는 페이지 내부 단편화 문제에 대해 분석한다. 분석 결과, 안드로이드의 고정 개수의 로컬캐시로 인해 어플리케이션의 특징에 따라 성능 측면의 오버헤드 및 메모리 낭비가 발생함을 확인하였으며, 지속적인 메모리 할당 및 해제가 반복되는 경우 사이즈 클래스에 따라 메모리의 90% 이상이 해제된 경우에도 페이지의 내부 단편화 문제로 인해 페이지 회수가 진행되지 않는 문제를 확인하였다.