eBPF를 사용한 Firefox 메모리 할당 추적

2025-05-31

작성자는 eBPF(확장 버클리 패킷 필터)를 사용하여 Firefox의 JavaScript 엔진인 SpiderMonkey에서 메모리 할당을 추적했습니다. 초기 목표는 메모리 관리 최적화를 위해 자주 생성되는 Rooted 객체의 소스 코드 위치를 파악하는 것이었습니다. bpftrace 도구와 사용자 프로브(uprobe)를 사용하여 작성자는 `registerWithRootLists` 함수를 성공적으로 추적하고 ustack 함수를 사용하여 호출 스택 정보를 얻었습니다. 최종적으로 작성자는 보고서를 생성하고 여러 버그 보고서를 제출했습니다. 이를 통해 메모리 할당이 최적화되었고 `registerWithRootLists`에 대한 수천만 번의 호출이 감소되었습니다.

개발