Visual Studio Standard Collector 프로세스 란 무엇이며 10GB RAM을 사용하는 이유는 무엇입니까?


21

이 사이트에 게시 할 수있는 올바른 스택 교환 사이트가 되길 바랍니다. 이것이 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 인스턴스는 충돌하지 않았으며 실제로는 여전히 문제없이 디버거에서 여전히 실행 중입니다.

여기에 이미지 설명을 입력하십시오


진단 도구를 다룹니다. . Chrome이 64 비트 프로세스로 존재한다는 것을 알고 있습니까?
Ramhound

1
이것은 알려진 버그이며 정보에 대한 업데이트 확인이있는 수정 사항이 있습니다. connect.microsoft.com/VisualStudio/feedback/details/1630071/…
arana

@arana, 난 업데이트 1을 실행 중입니다. "수정해야합니다"
C. Tewalt

1
@Ramhound Chrome은이 질문과 관련이 없습니다. 아니면 유용한 정보를 친절하게 공유하고 있습니까?
C. Tewalt

답변:


16

수집기 프로세스는 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는 문제의 근본 원인을 일부 수정했지만 여전히 수정되지 않은 다른 원인이 여전히 떠오르고 있습니다.


1
서비스 GUI를 표시하는 간단한 방법 (Windows 7 / Windows 10)은 시작 / 실행을 수행하고 "services.msc"를 입력하고 Enter를 누르는 것입니다. 내 Windows 7 컴퓨터의 서비스 목록에서 언급 한 이름은 "Visual Studio Standard Collector Service"로 표시됩니다.
개발자 63-GoFund Monica

흥미롭게도 업데이트 1이 설치되어 있지만 c # 대화 형 창을 사용하는 이유는 무엇입니까 (업데이트 1에서만 사용 가능). 그 사람이 재현 한 링크의 예제 코드가 작업을 사용한다는 점에 흥미가 있습니다. 내 응용 프로그램은 작업과 비동기 코드도 공정하게 사용합니다.
C. Tewalt

@matrixugly, 문제를 이해하면 VS2015가 실행될 때 수집기 서비스가 기본적으로 항상 실행되어 앱 계측 / 진단 정보를 수집합니다. 따라서 Windows에서 메모리 부족 경고를 표시했을 때 수행 한 작업은 문제와 관련이 있거나 없을 수 있습니다. 수집기 서비스 프로세스가 오래된 계측 데이터를 지우고 점차적으로 메모리를 채우는 데 필요하다는 메시지를 인식하지 못하고 관련성이없는 활동 중에 몇 시간 후 메시지가 표시되는 경우가 훨씬 더 이전 일 수 있습니다.
개발자 63-GoFund Monica

7
여전히 업데이트 3 RC에 존재합니다. :(
SayusiAndo 2016 년

1
이것은 여전히 ​​VS2017의 문제입니까? 그렇다면이 서비스를 비활성화하면 어떤 결과가 발생합니까?

2

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

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


2
또한 많은 사람들이 사용하는 디버깅 제품군의 일부인 진단 도구가 없다는 점도 언급해야합니다.

1
개인적으로 개발자는 진단 도구를 사용하지 않도록 설정했습니다. 처음 본 이후로 컴퓨터 속도가 느려졌 고 실제로 진단해야 할 성능 문제가있는 경우에만 가능했습니다. 드물지만) 여전히 프로파일 링 세션에서 더 많은 정보를 얻을 수 있습니다. 사람들이 정기적으로 무엇을 사용할 것인지 알고 싶습니다.
Eduardo Wada
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.