Visual Studio Standard कलेक्टर प्रक्रिया क्या है, और यह 10GB RAM का उपयोग क्यों करती है?


22

उम्मीद है कि यह सही स्टैक एक्सचेंज साइट पर पोस्ट करने के लिए है ... ऐसा महसूस नहीं हुआ कि यह एसओ के लिए एक प्रोग्रामिंग प्रश्न था। वैसे भी, मैं Visual Studio 2015 चला रहा हूं और VS2015 को बंद करने के लिए विंडोज से एक सूचना मिली है क्योंकि यह मेमोरी पर कम चल रहा है। मेरे पास 24 जीबी रैम है और कल ही रिबूट किया गया था, इसलिए मुझे लगता है कि यहां से कुछ हटकर है। मैं कभी-कभी C # इंटरैक्टिव विंडो, और अजगर 2.7 इंटरएक्टिव विंडो का उपयोग करता हूं, लेकिन इस संदेश के समय वे उपयोग में नहीं थे।

नोट: जैसा कि मैं यह लिख रहा हूं, मुझे अभी devenv.exe (vs2015 प्रक्रिया) से "अज्ञात हार्ड क्रैश" संदेश मिला है। लेकिन मानक कलेक्टर सेवा अभी भी 10.7GB का उपयोग करके चल रही है।

क्या किसी को पता है कि मानक कलेक्टर क्या है? और किस कारण से RAM का उपयोग स्पाइक के लिए हो सकता है?

नोट: फिर से, जैसा कि मैं लिख रहा हूं, मैंने अभी देखा कि मानक कलेक्टर सेवा मेरे कार्य प्रबंधक में बंद हो गई है और मेरे पास मेरी सारी रैम है।

एक विजुअल स्टूडियो "स्टैंडर्ड कलेक्टर" प्रक्रिया द्वारा बड़ी रैम का उपयोग

अद्यतन: ऐसा लगता है कि यह एक बग हो सकता है जिसे वीएस टीम ने अपडेट 1 में ठीक करने की कोशिश की। मेरे पास निश्चित रूप से अपडेट 1 स्थापित है, लेकिन शायद मुझे कुछ नमूना कोड में पुन: पेश करने और वीएस टीम को भेजने की कोशिश करनी चाहिए। दुर्घटना का कारण बना डेवव उदाहरण भी वर्तमान में डिबगिंग नहीं था। (हालांकि, एक और उदाहरण है जहां यह डिबगिंग है जैसा कि आप कार्य प्रबंधक में .vshost.exe एक्सटेंशन द्वारा देख सकते हैं)

यह गलत उदाहरण नहीं था और यह वास्तव में डिबगर में अभी भी समस्याओं के बिना चल रहा है।

यहाँ छवि विवरण दर्ज करें


यह डायग्नोस्टिक टूल्स से संबंधित है। । आप जानते हैं कि क्रोम 64-बिट प्रक्रिया के रूप में मौजूद है?
रामहाउंड

1
यह एक ज्ञात बग है और यह जानकारी के लिए यहां से अपडेट की जांच के साथ एक ठीक है: connect.microsoft.com/VisualStudio/feedback/details/1630071/...
arana

@ याराना, मैं अपडेट 1 चला रहा हूं, जिसे "ठीक" होना चाहिए ...
सी। टिवाल्ट

1
@ रामहाउंड क्रोम वास्तव में इस प्रश्न के लिए प्रासंगिक नहीं है। या आप बस जानकारी का एक उपयोगी tidbit साझा कर रहे हैं?
सी। टिवाल्ट

जवाबों:


16

कलेक्टर प्रक्रिया डिबग मोड में चल रहे कोड के इंस्ट्रूमेंटेशन / डायग्नोस्टिक्स से संबंधित प्रतीत होती है, विजुअल स्टूडियो 2015 में। माइक्रोसॉफ्ट ने स्वीकार किया है कि इस प्रक्रिया के अनबाउंड मेमोरी उपयोग के साथ एक समस्या है, और कहते हैं, "हमने मूल कारण और शोध किया है एक तय किया कि VS2015 अपडेट 1 में प्रदान किया जाएगा "

इसलिए सुनिश्चित करें कि आपको नवीनतम Visual Studio 2015 अद्यतन प्राप्त हो। इस बीच शमन के लिए:

"इस बीच, यदि आप देखते हैं कि प्रक्रिया बहुत अधिक मेमोरी का उपभोग करती है तो आपके पास पुनर्प्राप्त करने के दो तरीके हैं। सरलतम बस अपनी मशीन को पुनरारंभ करना है। यह सब कुछ एक ताजा स्थिति में वापस लाएगा। दूसरी चीज जो आप मेमोरी की खपत को कम करने के लिए कर सकते हैं। सेवा प्रबंधक UI का उपयोग करके Visual Studio मानक कलेक्टर सेवा को रोकने के लिए। सेवा का नाम "VSStandardCollectorService140" है। इसे सुरक्षित रूप से तब रोका जा सकता है जब आप Visual Studio के साथ डिबगिंग नहीं करते हैं। यदि आप डिबगिंग करते समय सेवा बंद कर देते हैं (यहां तक ​​कि ब्रेकपॉइंट पर भी रोक दिया जाता है। ) तब डायग्नोस्टिक टूल विंडो डिबग लक्ष्य प्रक्रिया को फिर से शुरू करने के बाद एक त्रुटि संदेश प्रदर्शित करेगा। "

इस लिंक को देखें, जहाँ उपरोक्त उद्धरण इस प्रकार से दिए गए हैं: https://connect.microsoft.com/VisualStudio/feedback/details/1630071/visual-studio-standard-collector-unbounded-moubory-usage

इस लिंक में किसी ऐसे व्यक्ति का कोड उदाहरण भी है, जिसने इसे कंसोल ऐप से अनुभव किया है। यह देखने के लिए कि यह आपके सिस्टम पर समस्या को ट्रिगर करता है, नमूना कोड चलाने के लायक हो सकता है। जिस व्यक्ति ने इस मुद्दे की सूचना दी थी, उसने संकेत दिया कि यह रुक-रुक कर होता है, लेकिन विज़ुअल स्टूडियो डिबगिंग मोड में कोड को चलाना एक सामान्य धागा है।

संभवतः Microsoft ने समस्या के कुछ मूल कारणों को निर्धारित किया है, लेकिन अभी भी अन्य अपरिचित कारण हैं जो सरफेसिंग हैं।


1
सेवा GUI को लाने के लिए एक सरल तरीका (विंडोज 7 / विंडोज 10) स्टार्ट / रन करना है और "services.msc" टाइप करना है और एंटर दबाना है। मेरी विंडोज 7 मशीन पर सेवाओं की सूची में, मेरा मानना ​​है कि वह "विजुअल स्टूडियो स्टैंडर्ड कलेक्टर सर्विस" के रूप में उल्लेखित शो है।
डेवलपर

दिलचस्प है, हालांकि मेरे पास अपडेट 1 स्थापित है -> इसलिए मैं सी # इंटरएक्टिव विंडो का उपयोग करता हूं (केवल अपडेट 1 में उपलब्ध है)। दिलचस्प है कि आपके लिंक से उदाहरण कोड जिसे पुन: पेश किया गया है वह टास्क का उपयोग करता है। मेरा आवेदन कार्यों और async कोड का उचित उपयोग करता है।
सी। टिवाल्ट

@matrixugly, जैसा कि मैं इस मुद्दे को समझता हूं, कलेक्टर सेवा मूल रूप से सभी समय चल रही है जब VS2015 चल रहा है, ऐप इंस्ट्रूमेंटेशन / नैदानिक ​​जानकारी एकत्रित कर रहा है। तो आप उस समय क्या कर रहे थे जब विंडोज ने कम मेमोरी अलर्ट दिया था या इस मुद्दे से कोई संबंध नहीं हो सकता है। यह बहुत पहले हो सकता था, जहां कलेक्टर सेवा प्रक्रिया पुराने इंस्ट्रूमेंटेशन डेटा को क्लीयर करना शुरू करने में आवश्यक पहचान करने में विफल रही, धीरे-धीरे मेमोरी भर गई, और एक असंबंधित गतिविधि के दौरान संदेश घंटों बाद दिखाई दिया।
डेवलपर

7
अभी भी अपडेट 3 आरसी में मौजूद है। :(
स्यूसीआंडो

1
यह अभी भी VS2017 के लिए एक समस्या है? यदि हां, तो इस सेवा को अक्षम करने के परिणाम क्या हैं?
रोल

2

सेवा को अक्षम करें और यह आपकी मेमोरी को फिर से नहीं खाएगा।

टूल्स-> विकल्प-> डिबगिंग-> जनरल, "डीबगिंग करते समय डायग्नोस्टिक टूल सक्षम करें" को अक्षम करें।


2
आपको यह भी उल्लेख करना चाहिए कि आपके पास नैदानिक ​​उपकरण नहीं होंगे जो डीबगिंग सूट का हिस्सा हैं जो बहुत सारे लोग उपयोग करते हैं।
रोल

1
व्यक्तिगत रूप से, एक डेवलपर के रूप में, मैंने हमेशा डायग्नोस्टिक टूल को अक्षम कर दिया क्योंकि मुझे लगा कि मैंने अपनी मशीन को बहुत धीमा बना दिया है क्योंकि मैंने पहली बार इसे देखा है, और इसे तभी सक्षम कर सकता हूं जब मुझे वास्तव में एक प्रदर्शन समस्या है, जिसका मुझे निदान करने की आवश्यकता है (जो कि काफी है दुर्लभ), और फिर भी, एक रूपरेखा सत्र आमतौर पर मुझे बहुत अधिक जानकारी देता है। मैं यह जानने के लिए काफी उत्सुक हूं कि लोग नियमित रूप से इसका क्या उपयोग करेंगे।
एडुआर्डो वाडा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.