Eclipse와 Firefox의 Swapping 문제
몇주 전 회사의 동료가 추천한 Eclipse의 plug-in을 이제야 써봤다.

KeepResident Eclipse Plugin

예전부터 Eclipse를 minimize해두었다가 사용하려고 할 때 많이 버벅거리는 것이 Windows NT/2K/XP의 가상 메모리 관리 방식 및 Java의 메모리 관리 방식과 관계가 있는 줄 알고 있었지만, 그걸 plug-in으로 해결하는 방법이 있는 줄은 몰랐었다. 이 plug-in의 저자에 따르면
The performance of Eclipse (and other large Java applications) has long suffered due to the Windows virtual memory manager. Windows has a tendency to preemptively swap Java processes out of physical memory, even when there is still plenty of physical memory available. This interacts very poorly with Java processes, which do not have good locality and touch a lot of memory. The problem is exacerbated when Java performs garbage collection, which causes the Java process to touch lots of memory that has been paged out to disk. Ever had Eclipse randomly hang for 15-20 seconds? This is most likely the culprit.
Kernel과 GUI가 분리되어 있는 UNIX와는 달리, Win32 계열의 커널에서는 프로그램이 minimize될 때 이 프로그램의 working set을 OS가 알아서 최소화시켜 버리기 때문에 약간의 파일 I/O만으로도 이 프로그램이 사용하던 메모리가 모두 discard되어 버리고, 이 때문에 프로그램이 다시 restore/maximize될 때 버벅거리는 것이다. Java의 경우엔 더군다나 클래스 파일, JIT된 네이티브 코드 및 오브젝트가 메모리에 여기 저기 흩어져 있고 특히 garbage collection이라도 하게 되면 전체 virtual memory를 다 랜덤 액세스하게 되므로 demand loading의 performance가 매우 나쁘게 되어 차라리 다시 띄우는 것이 더 나은 경우도 많게 되는 것이다.

Windows의 작업 관리자에서 "최고 메모리 사용률"을 보이게 하고 Eclipse의 javaw를 선택한 후 Eclipse를 minimize해보면, "최고 메모리 사용률"은 그대로 있지만 "메모리 사용"은 많이 줄어드는 것을 볼 수 있는데, 위의 plug-in을 설치하고 나면 "최고 메모리 사용률"이 유지되는 것을 볼 수 있고, 충분히 체감도 할 수 있다. 하지만 working set을 유지하기 위해 VirtualLock()을 사용하는 것은 메모리가 충분하지 않은 컴퓨터에서는 전체 시스템의 성능에 많은 영향을 줄 수 있으므로 주의해서 사용해야 할 것 같다.

NT 커널의 virtual memory가 swapping하는데 FIFO 알고리즘을 사용하기 때문에 성능이 좋지 않다는 얘기는 예전에도 들은 적이 있지만, 다른 대부분의 애플리케이션에서는 큰 문제가 안되기 때문에 꼭 OS만의 문제라고 치부하기는 어렵다. 마이크로소프트의 관련 설명을 보면 이를 피해가는 방법이 있는데 Sun에서는 Java 5.0에 와서야 선택적으로 이 방법을 사용할 수 있게 했다(System property sun.awt.keepWorkingSetOnMinimize="true". AWT가 아닌 SWT를 사용하는 Eclipse에는 적용 안됨). Eclipse나 다른 Java 기반의 프로그램 외에 Mozilla/Firefox의 경우에도 비슷한 문제가 있는데, 관심있는 사람들은 좀 길긴 하지만 이 bugzilla entry를 보면 많은 걸 배울 수 있다. 해결책에만 관심있는 사람은
  1. Mozilla/Firefox의 주소 필드에 about:config를 입력하고,
  2. 이 창에서 마우스 우측 버튼을 누른 후 "New"를 선택
  3. "Boolean" 타입을 선택하고
  4. Preference 이름으로 config.trim_on_minimize를 입력한 후 값을 false로 지정
  5. 브라우저를 재시작
하고 Eclipse의 경우와 마찬가지로 작업 관리자에서 메모리 사용량을 확인해보면 차이를 볼 수 있다.

MS에서 비록 선택적으로 피해가는 방법을 제공하고 있기는 하지만, 이러한 문제의 원인과 해결책을 별로 열심히 알리고 있는 것 같지는 않고 또 OS 레벨에서 이런 문제를 해결하기 위한 대책을 적극적으로 강구하는 것 같지도 않다. 이 문제의 가장 많은 영향을 받는 애플리케이션이 Java와 Mozilla/Firefox라는 것은 단순히 우연일까? 하인라인이 "Never attribute to malice which can be explained by stupidity."라고 했다지만 그게 Microsoft에도 적용되는 얘기일까? 사회 생활을 하다보니 오히려 "무지를 가장한 악의"도 많이 눈에 띄는 것 같다.

추가: 이상하게 이 글에만 자꾸 스팸 덧글이 붙어서 덧글 막습니다.
by alphageek | 2005/02/08 22:04 | 프로그래밍 | 트랙백(15) | 핑백(2) | 덧글(3)
Tracked from iron 의 공간 at 2005/02/09 13:19

제목 : Eclipse와 Firefox의 Swapping 문제
http://yunho.egloos.com/918033 이 곳에서 퍼옵니다 몇주 전 회사의 동료가 추천한 Eclipse의 plug-in을 이제야 써봤다.KeepResident Eclipse Plugin예전부터 Eclipse를 minimize해두었다가 사용하려고 할 때 많이 버벅거리는 것이 Windows NT/2K/XP.....more

Tracked from Navis' realm at 2005/02/11 08:48

제목 : 아하..
Eclipse와 Firefox의 Swapping 문제 이클립스는 아니지만 내 IDE 도 램은 남아도는데도 졸라게 느려지길래 열받았었는데, 이유가 있었구먼.. 역시 MS 새퀴들 OS 를 발로 만든게 분명해.....more

Tracked from 어느 프로그래머의 잡다.. at 2005/02/11 11:30

제목 : Windows Application의 Minimiz..
<FONT style="FONT-SIZE: 9pt; FONT-FAMILY: 7471_9...more

Tracked from JG.COM at 2005/02/11 14:40

제목 : FF 팁 하나
불여우를 minimize했다가 다시 열때 좀 버벅거리는 Eclipse와 Firefox의 Swapping 문제 (v...more

Tracked from 지니랜드 at 2005/02/15 20:01

제목 : Eclipse와 Firefox의 Swapping 문제
eclipse에 대한 플러그인 소개글이 있어서 트랙백해옵니다. Eclipse와 Firefox의 Swapping 문제를 해결(?) 하는 방안이 나와있습니다. Eclipse와 Firefox의 Swapping 문제...more

Tracked from 살아있나요? at 2005/05/06 22:15

제목 : Eclipse 팁.
Eclipse와 Firefox의 Swapping 문제...more

Tracked from The way of m.. at 2005/05/16 14:44

제목 : 작은 팁(Minimize)
NT커널의 virtual memory가 swaping하는데 성능이 좋지 않다는 소리는 이전부터 여러 기사를 통해서 들어왔다. 특히 Java와 같은 경우는 virtual memory관리 방법이 따로 있기 때문에 Minimize의 경우 골치아픈 속도저하를 체험할 수 있다. 이에 대한 작은 팁을 찾아냈다. Eclipse와 Firefox의 Swapping 문제 <해결책> 1) Mozilla/Firefox의 주소 필드에 about:config를 입력하고, 2) 이 창에서 마우스 우측 버튼을 누른 후 "New"를......more

Tracked from I Will Stay .. at 2005/05/17 11:54

제목 : Eclipse와 Firefox의 Swapping 문제
Eclipse와 Firefox의 Swapping 문제 -- 이하 본문 -- 몇주 전 회사의 동료가 추천한 Eclipse의 plug-in을 이제야 써봤다. KeepResident Eclipse Plugin 예전부터 Eclipse를 minimize해두었다가 사용하려고 할 때 많이 버벅거리는 것이 Windows NT/2K/XP의 가상 메모리 관리 방식 및 Java의 메모리 관리 방식과 관계가 있는 줄 알고 있었지만, 그걸 plug-in으로 해결하는 방법이 있는 줄은 몰랐었다. 이 plug-in의 저자에 따르......more

Tracked from 작은 숲 at 2005/06/27 16:35

제목 : Eclipse와 Firefox의 Swapping 문제
Eclipse와 Firefox의 Swapping 문제 단순히 vm에서 옵션을 주어 메모리를 늘리게 할생각으로 검색햇다가 뜻박에 수확 ^^; 사용후기는 사용후;;...more

Tracked from 호푸의 세상 at 2005/07/08 14:26

제목 : Firefox의 Swapping 문제
Eclipse와 Firefox의 Swapping 문제 불여우가 빨라졌다. 메모리 문제도 나아진 것 같다. Mozilla/Firefox의 주소 필드에 about:config를 입력하고, 이 창에서 마우스 우측 버튼을 누른 후 "New"를 선택 "Boolean" 타입을 선택하고 (Boolean type이 없어서 그냥 Preference 이름으로 config.trim_on_minimize를 입력한 후 값을 false로 지정 브라우저를 재시작 아직까지는 괜찮은 것 같은데 계속 테스트해봐야지......more

Tracked from Rhythm of Life at 2005/10/14 18:29

제목 : Firefox 창 띄울 때 버벅임 해소 팁
참고: http://yunho.egloos.com/918033 1. Mozilla/Firefox의 주소 필드에 about:config를 입력하고, 2. 이 창에서 마우스 우측 버튼을 누른 후 "New"를 선택 3. "Boolean" 타입을 선택하고 4. Preference 이름으로 config.trim_on_minimize를 입력한 .....more

Tracked from ZOMBIE씨의 개똥철학 at 2005/10/21 13:57

제목 : Eclipse와 FireFox의 Momory Swa..
Eclipse와 Firefox의 Swapping 문제 이런게 있었군... plug-in DOWN...more

Tracked from 반복되는 일상속의 비정.. at 2005/11/16 14:24

제목 : Eclipse와 Firefox의 Swapping 문제
Eclipse와 Firefox의 Swapping 문제...more

Tracked from illb.net at 2006/05/06 12:42

제목 : Eclipse나 Firefox를 minimize 한..
Google 님에게 eclipse plugin이라는 키워드의 한글 사이트를 찾으니 Eclipse와 Firefox의 Swapping 문제라는 다소 주제와 관련이 없어 보니는 글이 보이더라. 허나 내용은 상당히 유용한 글이다. Eclispe나 ......more

Tracked from Good Luck !! at 2006/06/23 10:08

제목 : Eclipse와 Firefox의 Swapping 문제
출처 : http://yunho.egloos.com/tb/918033 몇주 전 회사의 동료가 추천한 Eclipse의 plug-in을 이제야 써봤다.KeepResident Ecli...more

Linked at illb.net &raquo;.. at 2007/09/30 17:10

... Google 님에게 eclipse plugin이라는 키워드의 한글 사이트를 찾으니 Eclipse와 Firefox의 Swapping 문제라는 다소 주제와 관련이 없어 보니는 글이 보이더라. 허나 내용은 상당히 유용한 글이다. ... more

Linked at 이클립스와 파이어폭스의 swa.. at 2008/07/21 15:10

... adio.com 이클립스와 파이어폭스의 swapping 문제 April 26, 2005 at 3:04 pm &#183; Filed under 메인 이클립스와 파이어폭스의 swapping 문제 KeepResident Eclipse Plugin This work, unless otherwise expressly stated, is ... more

Commented by Gadenia at 2005/11/16 14:23
오.. 좋은 정보입니다. 구글서핑하다 타고왔는데 같은 얼음집 분이셨을줄이야.. :) 트랙백좀 해 가도 되겠죠? ^^;
Commented by 거니 at 2006/01/26 09:41
아.. 이런게 있었군요.. 염치불구하고 좀 퍼가도 될런지~ ^^;
Commented by alphageek at 2006/01/26 16:08
거니님, 출처만 밝히시면 괜찮습니다.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.


<< 이전 페이지 다음 페이지 >>
크리에이티브 커먼즈 라이센스
이 저작물은 크리에이티브 커먼즈 라이센스에 따라 이용하실 수 있습니다.