파이어폭스 메모리 누수 문제 해결 방법??

 파이어폭스의 장점을 꼽으라면 단연 속도, 안정성, 보안성 등을 꼽을 것이다. 그러나 이런 많은 장점에도 불구하고 한 가지 큰 단점이 있다고 한다. 그것은 메모리 누수 현상이 심하다는 것이다.
 
 KLDP에서는 이를 두고 우리 나라 웹싸이트들이 웹표준을 따르지 않아서 생기는 문제라고도 하고 파이어폭스 자체의 문제라고도 하면서 서로 논쟁을 벌이는 글을 보았다. (그 글을 링크하고 싶지만 어딨는지 못 찾겠다. ㅡㅡ^)

 어찌 됐든 간에 분명히 파이어폭스에서는 메모리 누수 현상이 심하다는 것은 사실인 듯하다. 그래서 이를 해결할 수 있는 방법이 없을까 싶어서 구글링을 해보았다. 쉽게 해결 방법을 찾을 수 있었지만 이것이 과연 제대로 적용되는지 싶어서 간단하게 실험을 해보았다. 이에 대한 전문가가 아니라서 실험이 제대로 됐는지는 모르겠으나 간단한 참고자료는 될 듯하다.

※ 실험 환경
CPU : AMD Turion 64x2 TL-50
RAM : 2G
VGA : Geforce Go 6100
OS : 우분투 7.10
파이어폭스 버전 : 2.0.0.11
파이어폭스 부가 기능 : fasterfox, lightSMS

1. 먼저 해결 방법을 적용하지 않은 상태에서 파이어폭스의 메모리 점유율을 확인 해보았다.

① 컴퓨터를 부팅하자 마자 파이어폭스를 실행한 상태에서의 메모리 점유율이다. 약 30MB 정도 된다.


② 파이어폭스에 탭을 5개 실행한 상태에서의 메모리 점유율이다. 약 65MB정도 된다. 역시 탭이 메모리를 많이 사용하고 있다는 것을 알 수 있다.

③ 이제 탭을 5~6정도 유지하고 간단한 웹서핑을 약 50분 간 한 후의 메모리 점유율이다. 약 200MB를 넘어섰다. 전문가가 아니라 정확한 의견을 내기는 힘들지만 분명히 메모리 누수 현상은 있어 보인다.


2. 이제 메모리 누수 문제 해결 방법을 알아 보자.

참고 : 파이어폭스 메모리 평균 50으로 만들자

파이어폭스 주소창에 about:config 라고 입력한다.

- 설정 창에 우클릭 한 후 새로 만들기 > 연산자 를 선택하고 config.trim_on_minimize 를 입력하고 값은 true로 설정한다.
- 필터 창에 browser.cache.memory.capacity 를 입력한다. 기본값으로 256MB RAM은 14336, 512MB RAM은
22528, 1GB RAM은 32768, 2GB RAM은 65536로 되어 있다. 16384로 설정한다.
- 필터 창에 browser.sessionhistory.max_total_viewers 를 입력하고 값을 0으로 변경한다.
- 필터 창에 image.animation_mode 를 입력하고 값을 none으로 변경한다. 만약 이미지나 애니메이션에 문제가 발생한다면 초기값으로 다시 변경한다. (일단 실험에는 이 값을 사용하고 이후 이미지 뜨는 것이 느려진 것 같아서 초기값으로 변경했다.)

편집 > 환경 설정 > 고급 > 네트워크 탭으로 이동한다.

- 캐시 메모리를 낮게(약 50 정도) 설정한다.
- 쓸모 없는 확장 기능은 제거한다. 웬만하면 5개 이상은 설치하지 않기를 권장한다.

3. 위와 같이 설정한 후 1번과 동일한 조건을 맞추기 위해서 컴퓨터를 끄고 켠 다음 동일한 실험을 했다.
① 위의 1-①과 같은 실험이다. 약 30MB 정도로 별 차이를 보이지 않는다.



② 위의 1-②와 같은 실험이다. 약 61MB 정도로 약간 낮아지긴 했지만 큰 차이는 보이지 않는 것 같다.



③ 위의 1-③과 같은 실험이다. 약 123MB 정도로 확실히 메모리 점유율이 줄어든 것이 눈에 보인다. 물론 웹서핑을 어떻게 했으며 현재 실행 중인 싸이트가 어떤 것이냐에 따라서 다소 차이를 볼 수 있으나 어느 정도는 효과가 있는 것 같아 보인다. 물론 체감 상으로는 거의 느끼지 못하지만(RAM이 2GB라서 모자랄 일이 별로 없다. ㅎ) 수치 상으로 효과를 보아서 대충 만족한다.


 이것을 윈도우 파이어폭스에 적용한 전후의 모습과 과연 IE의 경우에는 메모리 누수 현상이 얼마나 있는지에 대해서 간단하게 실험해 볼 생각이다. (이 실험을 먼저 했었지만 변인을 제대로 설정하지 못해서 리눅스에서의 실험 결과를 먼저 올리게 되었다. 귀띔하자면 IE의 메모리 누수 현상도 만만찮은 것 같다. 물론 내 생각이다. ㅡㅡ;)

 이제 남은 판단은 여러분에게 맡기겠습니다. ^^

by 조디악 | 2007/12/17 14:25 | 브라우저 | 트랙백(1) | 덧글(2)

Tracked from GOOD LINUX!! at 2007/12/22 13:48

제목 : 파이어폭스와 인터넷 익스플로러의 메모리 점유율 비교??
리눅스(우분투)에서 파이어폭스(이하 FF)의 메모리 점유율은 앞서 포스팅인 파이어폭스 메모리 누수 문제 해결 방법?? 에서 간단히 실험해서 알아보았다. 뭐 내 마음대로 실험이긴 하지만... ㅎㅎ 이번엔 윈도우에서는 과연 FF의 메모리 점유율이 얼마나 되는지, 그리고 이왕 실험해보는 김에 인터넷 익스플로러(이하 IE)는 윈도우에서 과연 어느 정도의 메모리를 점유하는지도 알아보고 싶었다. 물론 이번에도 내 마음대로 실험이......more

Commented by Channy at 2007/12/17 15:02
많은 분들이 이것이 Firefox 메모리 누수 혹은 성능상의 문제라고 하는 것 같습니다. 그런데 실제로는 그렇지 않구요. 1.5에서 2.0으로 오면서 히스토리 캐쉬와 탭 캐쉬를 채용하면서 기존의 모든 웹 페이지를 메모리 캐쉬하는데서 생긴 현상입니다.

이렇게 함으로서 글쓰다가 실수로 탭을 닫았을 경우, "바로가기->최근에 닫은 탭"을 통해 다시 글 쓰기 내용을 복구할 수 있습니다. Back/Fwd를 할 때도 캐싱 정보를 가져오기 때문에 속도가 빠르구요. 하지만 이 때문에 메모리 캐싱할 내용이 많아져서 메모리 점유가 매우 높아집니다.

그렇다고 누수가 전혀 없다는 것은 아니구요 메모리 allocation에 효율성이 없어서 최근 Firefox 3에서 꽤 많은 수정을 하고 있습니다. Firefox 3는 이 문제가 많이 해결되고 있는 상황입니다.
Commented by 조디악 at 2007/12/17 15:07
아하~ 그렇군요~ 좋은 정보 감사합니다~^^ 저도 파이어폭스 3를 써봤지만 확실히 2보다 나아진 점이 보이는 것 같더군요~ 얼른 정식 버전 나와서 테스트해보고 싶습니다~ ^^ 근데 위의 메모리 누수 해결 방법은 확실히 효과가 있는 것이 맞을까요?? 제 맘대로 테스트라 확실한 지 모르겠네요~ ㅎ
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

◀ 이전 페이지다음 페이지 ▶