Visual Studio Standard Collector 프로세스 란 무엇이며 10GB RAM을 사용하는 이유는 무엇입니까? 게시 할 수있는 올바른 스택 교환

이 사이트에 게시 할 수있는 올바른 스택 교환 사이트가 되길 바랍니다. 이것이 SO에 대한 프로그래밍 문제인 것 같지 않았습니다. 어쨌든 Visual Studio 2015를 실행 중이며 메모리가 부족하여 Windows에서 VS2015를 닫으라는 알림을 받았습니다. 나는 24GB의 RAM을 가지고 있으며 어제 재부팅 했으므로 뭔가 잘못되었다고 생각합니다. 때로는 C # 대화 형 창과 python 2.7 대화 형 창을 사용하지만이 메시지 당시에는 사용되지 않았습니다.

참고 :이 글을 쓰는 동안 devenv.exe (vs2015 프로세스)에서 “알 수없는 하드 충돌”메시지를 받았습니다. 그러나 Standard Collector 서비스는 여전히 10.7GB를 사용하여 실행 중입니다.

Standard Collector가 무엇인지 아는 사람이 있습니까? RAM 사용량이 급증하는 원인은 무엇입니까?

참고 : 작성하는 동안 표준 수집기 서비스가 작업 관리자에서 중지되었으며 모든 RAM이 다시 있음을 알았습니다.

Visual Studio "표준 수집기"프로세스에 의한 대용량 RAM 사용

업데이트 : VS 팀이 업데이트 1에서 수정하려고 시도한 버그 일 수 있습니다. 확실히 업데이트 1이 설치되어 있지만 샘플 코드로 재현하여 VS 팀에 보내야합니다. 충돌 한 devenv 인스턴스도 현재 디버깅되지 않았습니다. (작업 관리자의 .vshost.exe 확장명에서 볼 수 있듯이 디버깅중인 또 다른 인스턴스가 있습니다)

그 devenv 인스턴스는 충돌하지 않았으며 실제로는 여전히 문제없이 디버거에서 여전히 실행 중입니다.



답변

수집기 프로세스는 Visual Studio 2015에서 디버그 모드로 실행되는 코드의 계측 / 진단과 관련이있는 것으로 보입니다. Microsoft는이 프로세스의 무한한 메모리 사용에 문제가 있음을 인정했으며 “근본 원인을 조사했으며 VS2015 업데이트 1에서 제공 될 수정 프로그램을 만들었습니다. “

최신 Visual Studio 2015 업데이트가 설치되어 있는지 확인하십시오. 그 동안 완화를 위해 :

프로세스가 너무 많은 메모리를 소비한다는 사실을 발견하면 두 가지 방법으로 복구 할 수 있습니다. 가장 간단한 방법은 컴퓨터를 다시 시작하는 것입니다. 모든 것이 새로운 상태로 돌아갑니다. 메모리 소비를 줄이기 위해 할 수있는 또 다른 방법은 서비스 관리자 UI를 사용하여 Visual Studio Standard Collector 서비스 중지 서비스 이름은 “VSStandardCollectorService140″입니다. Visual Studio를 사용하여 디버깅하지 않을 때 안전하게 중지 할 수 있습니다. ) 디버그 대상 프로세스를 다시 시작하면 진단 도구 창이 오류 메시지를 표시합니다. “

위 인용문의 출처가이 링크 인
https://connect.microsoft.com/VisualStudio/feedback/details/1630071/visual-studio-standard-collector-unbounded-memory-usage

이 링크에는 콘솔 앱에서 이것을 경험 한 사람의 코드 예제도 있습니다. 샘플 코드를 실행하여 시스템에서 문제를 유발하는지 확인하는 것이 좋습니다. 이 문제를보고 한 사람도 간헐적으로 발생했지만 Visual Studio 디버깅 모드에서 코드를 실행하는 것이 일반적인 스레드 인 것처럼 보였습니다.

아마도 Microsoft는 문제의 근본 원인을 일부 수정했지만 여전히 수정되지 않은 다른 원인이 여전히 떠오르고 있습니다.


답변

서비스를 비활성화하면 메모리가 다시 소모되지 않습니다.

도구-> 옵션-> 디버깅-> 일반, “디버깅 중 진단 도구 사용”을 비활성화하십시오.


답변