내 Windows 7 설치에서 메모리 누수가 발생하기 시작하여 며칠 후 메모리 사용량이 천천히 최대 90%(16GB)까지 올라갑니다.
내 작업 관리자에서는 프로세스 목록이 그렇게 많은 메모리를 추가하지 않기 때문에 rammap을 다운로드하고 많은 bash.exe 및 sed.exe 프로세스를 확인했습니다.
이들 각각은 4K를 사용합니다. cygwin을 제거했지만 이런 현상이 계속 발생합니다.
편집: 추가 정보: 다시 시작한 후 즉시 돌아오지 않습니다. 그러나 시간이 좀 더 지나면 메모리 사용량이 다시 증가하기 시작하고 RAMMAP을 확인했는데 이상한 프로세스가 다시 발생했습니다.
더 이상 cygwin이 설치되어 있지 않아서 이것이 어디서 나오는지 궁금합니다.
답변1
사용프로세스 탐색기프로세스를 두 번 클릭하여 해당 속성을 표시하면 이러한 프로세스가 어느 폴더에서 왔는지, 해당 매개변수는 무엇인지 알아낼 수 있습니다.
폴더 이름은 이러한 프로세스를 담당하는 설치된 제품을 식별하며 매개변수는 해당 목적을 나타낼 수 있습니다.
답변2
충분한 정보를 거의 제공하지 않았지만 재부팅 후 이러한 프로세스가 다시 시작된다고 가정하면 를 사용하여 프로세스가 시작되지 않도록 할 수 있습니다 msconfig
.
- Win+ 를 R입력하고 를 입력
msconfig
한 후 누르세요.Enter Yes
프로그램을 실행할 것인지 물으면 클릭하세요 (우리 모두 사랑하지 않나요?)UAC?)Startup
탭 으로 이동- 이제 까다로운 부분이 나옵니다. 각 항목을 주의 깊게 살펴보고(모든 정보를 보려면 창을 확장해야 할 수도 있음) Cygwin, , 등 무엇이든 관련되어 나타나는 항목이 시작되면
bash.exe
비활성화sed.exe
하십시오. - 재부팅
- 문제가 다시 발생하면
msconfig
다시 확인하여 놓친 부분이 있는지 확인할 수 있습니다.
대부분의 Startup
항목을 안전하게 비활성화할 수 있으며, 재부팅 후 작동이 중단되면 다시 돌아가서 msconfig
비활성화한 일부 항목을 활성화하십시오. 사실 어렵지 않습니다. :)
답변3
문제의 원인은 이번 여름에 제공된 Windows 7 업데이트의 버그인 것 같습니다. 이 업데이트를 설치한 후 모든 프로세스에서 20KB를 차지하게 됩니다. 별거 아닌 것 같지만, 프로세스를 여러 번 반복적으로 호출하면 합하면 몇 GB에 이를 수도 있습니다(저의 경우에는 수십만 개의 make.exe, bash.exe, sed.exe, sh를 호출하는 빌드 절차입니다. exe, g++.exe, cc1plus.exe 등은 매일 밤 메모리 사용량에 약 8GB를 추가합니다.