Що таке процес Visual Studio Standard Collector і чому він використовує 10 Гб оперативної пам’яті?


21

Сподіваємось, це правильний сайт обміну стеками, який слід розміщувати на сайті ... Не здавалося, що це питання програмування для SO. У будь-якому разі, я запускаю Visual Studio 2015 і отримую сповіщення від Windows про закриття VS2015, оскільки у нього мало пам'яті. У мене є 24 ГБ оперативної пам’яті, і я тільки вчора перезавантажився, тому я думаю, що тут щось не виходить. Я іноді використовую інтерактивне вікно C # та інтерактивне вікно python 2.7, але вони не використовувались під час цього повідомлення.

Примітка. Коли я це пишу, я щойно отримав повідомлення "Невідомий жорсткий збій" від devenv.exe (vs2015 процес). Але послуга Standard Collector все ще працює з використанням 10,7 ГБ.

Хтось знає, що таке колектор Standard? І що може спричинити швидке використання оперативної пам'яті?

Примітка. Знову, коли я пишу, я щойно помітив, що служба "Стандартний колектор" зупинилася в моєму менеджері завдань, і у мене є вся моя оперативна пам'ять.

Велике використання оперативної пам’яті процесом Visual Studio «Стандартний колектор»

Оновлення: Це здається, що це може бути помилка, яку команда VS намагалася виправити в оновленні 1. У мене, безумовно, встановлено оновлення 1, але, можливо, я повинен спробувати відтворити якийсь зразок коду та надіслати його команді VS. Збій екземпляра devenv також наразі не налагоджується. (Хоча, є інший випадок, коли він налагоджується, як ви можете бачити розширення .vshost.exe в диспетчері завдань)

Цей екземпляр devenv не вийшов з ладу і він фактично все ще працює в налагоджувачі зараз без проблем.

введіть тут опис зображення


Він стосується діагностичних інструментів. . Ви знаєте, що Chrome існує як 64-бітний процес, правда?
Рамхаунд

1
це відома помилка , і вона має виправлення з перевіркою оновлень тут для інформації: connect.microsoft.com/VisualStudio/feedback/details/1630071 / ...
Аран

@arana, я запускаю оновлення 1, яке "повинно" мати виправлення ...
C. Tewalt

1
@Ramhound Chrome не дуже відповідає цьому питанню. Або ви просто люб'язно обмінюєтеся корисною інформацією?
C. Tewalt

Відповіді:


16

Процес збирання, як видається, пов'язаний з інструментами / діагностикою коду, що працює в режимі налагодження, в Visual Studio 2015. Microsoft визнала, що існує проблема з необмеженим використанням пам'яті цього процесу, і говорить: "Ми дослідили першопричину і маємо зробив виправлення, яке буде надано у оновленнях VS2015 1 "

Тому переконайтеся, що ви отримаєте останнє оновлення Visual Studio 2015. Тим часом для пом'якшення наслідків:

"Тим часом, якщо ви помітили, що процес споживає занадто багато пам'яті, у вас є два способи відновлення. Найпростіше - це просто перезапустити машину. Це поверне все до нового стану. Інше, що ви можете зробити, щоб полегшити споживання пам'яті - це щоб зупинити службу 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
Один з простих способів (Windows 7 / Windows 10) підвести графічний інтерфейс служб - це запустити / запустити і ввести "services.msc" і натиснути Enter. У списку послуг на моїй машині Windows 7 назва, на який я вважаю, є вказаним як "Стандартна колекційна послуга Visual Studio".
Developer63 - GoFund Monica

Цікаво, хоча в мене встановлено оновлення 1 -> отже, чому я використовую c # інтерактивне вікно (доступне лише в оновлення 1). Цікаво, що приклад коду з вашої посилання, який хлопець відтворив, використовує Завдання. Моя програма також використовує завдання та код асинхронізації.
C. Tewalt

@matrixugly, наскільки я розумію проблему, служба колекціонерів, як правило, працює весь час, коли VS2015 працює, збираючи інформацію про інструменти / діагностику додатків. Тож, що ви робили в той час, коли Windows надсилала попередження про низьку пам’ять, може бути або не мати жодного відношення до проблеми. Це могло бути щось набагато раніше, коли процес служби колекціонерів не розпізнав необхідність розпочати очищення старих даних про прилади, поступово заповнюючи пам’ять, і повідомлення з’являлося години пізніше під час неспорідненої діяльності.
Developer63 - GoFund Monica

7
Досі існує в Update 3 RC. :(
SayusiAndo

1
Це все ще проблема для VS2017? Якщо так, то які наслідки відключення цієї послуги?
булочки

2

Вимкніть послугу, і вона більше не з’їсть вашу пам’ять.

Інструменти-> Параметри-> Налагодження-> Загальне, відключіть "Увімкнути діагностичні інструменти під час налагодження".


2
Також слід зазначити, що у вас не буде діагностичних інструментів, які є частиною набору для налагодження, яким користується багато людей.
булочки

1
Особисто я, як розробник, завжди відключав діагностичні інструменти, тому що відчував, що машина зробила набагато повільніше з першого разу, коли я її бачив, і вмикаю її лише тоді, коли у мене є проблеми з продуктивністю, яку мені потрібно діагностувати (що досить рідко), і все-таки сесія профілювання зазвичай дає мені набагато більше інформації. Мені дуже цікаво знати, для чого люди користуватимуться ним регулярно.
Едуардо Вада
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.