본문 바로가기

memory leak

(2)
[번역] 웹 애플리케이션의 메모리 누수 진단하고 고치기 다음과 같은 화면을 본 적 있나요? 크롬은 위와 같이 해당 페이지에서 메모리 누수가 발생했음을 알려줍니다. 메모리 누수가 뭔가요? 메모리 누수는 자원 할당을 잘못 관리하여 컴퓨터 프로그램이 더 이상 필요하지 않은 메모리를 해제하지 않아 성능 저하를 초래하는 것을 말합니다. 실행되는 동안 지속적으로 더 많은 메모리를 소비합니다. 거의 모든 프로그래밍 언어의 메모리 생명 주기는 메모리를 할당하고, 사용하고, 해제하는 방식으로 작동합니다. JS 메모리 누수가 문제가 되는 이유 스마트폰 출시와 모바일 앱의 확산 이후 웹 개발자는 이에 영감을 받아 웹 페이지를 디자인하고 구성하는 방식을 변경하기 시작했습니다. 오래 전 웹 개발 환경은 Java/JSP, PHP, ASP 및 Ruby와 같은 서버측 기술을 사용하는 M..
크롬 개발자 도구의 QueryObjects 객체로 Javascript 메모리 누수 잡기 자바스크립트 진영에서 메모리 누수에 대한 이야기가 덜 논의되는 이유 클라이언트 측 JavaScript는 일반적으로 서버 사이드 JS에 비해 수명이 짧기 때문입 대부분의 경우 웹 페이지는 오랫동안 열려 있지 않으며 사용자가 페이지를 새로 고치거나 탭을 닫으면 메모리가 자동으로 해제돔 하지만 SPA의 시대가 도래하면서 Javascript 메모리 누수는 꽤 자주 일어나는 모습을 보임 앱 상태가 사용자의 세션처럼 stateful하기 때문 JavaScript 메모리 누수를 식별하고 디버깅하는 작업 힙 스냅샷을 만들고 노이즈를 제거하고 스냅샷을 분석하여 메모리 누수를 일으킨 범인을 구별 이는 쉽게 자동화할 수 없는 시간이 많이 걸리는 작업들임. queryObjects라는 API를 활용해 크롭 개발자 도구에서 메모리..