กระบวนการของ Visual Studio Standard Collector คืออะไรและเพราะเหตุใดจึงใช้ RAM 10GB


21

หวังว่านี่จะเป็นไซต์แลกเปลี่ยนสแต็คที่ถูกต้องที่จะโพสต์บน ... ไม่รู้สึกว่ามันเป็นคำถามการเขียนโปรแกรมสำหรับ SO อย่างไรก็ตามฉันใช้ Visual Studio 2015 และได้รับการแจ้งเตือนจาก Windows ให้ปิด VS2015 เพราะหน่วยความจำเหลือน้อย ฉันมี RAM ขนาด 24GB และเพิ่งรีบูตเมื่อวานนี้ดังนั้นฉันคิดว่าบางสิ่งบางอย่างผิดปกติ บางครั้งฉันใช้หน้าต่างโต้ตอบ C # และหน้าต่างโต้ตอบ python 2.7 แต่ไม่ได้ใช้งานในเวลาที่ข้อความนี้

หมายเหตุ: ขณะที่ฉันกำลังเขียนสิ่งนี้ฉันเพิ่งได้รับข้อความ "ไม่รู้จักฮาร์ดไดรฟ์ผิดพลาด" จาก devenv.exe (กระบวนการ vs2015) แต่บริการ Standard Collector ยังคงใช้งานได้ถึง 10.7GB

ไม่มีใครรู้ว่า Standard Collector คืออะไร? และสิ่งใดที่อาจทำให้การใช้งาน RAM สูงขึ้น?

หมายเหตุ: อีกครั้งที่ฉันเขียนฉันสังเกตเห็นว่า Standard Collector Service หยุดทำงานในตัวจัดการงานของฉันและฉันได้ RAM กลับมาทั้งหมด

การใช้ RAM ขนาดใหญ่โดยกระบวนการ "Standard Collector" ของ Visual Studio

อัปเดต:ดูเหมือนว่านี่อาจเป็นข้อผิดพลาดที่ทีม 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 ล่าสุด สำหรับการบรรเทาในระหว่างนี้:

"ในขณะเดียวกันถ้าคุณสังเกตเห็นว่ากระบวนการใช้หน่วยความจำมากเกินไปคุณมีสองวิธีในการกู้คืนง่ายที่สุดคือเพียงรีสตาร์ทเครื่องของคุณซึ่งจะทำให้ทุกอย่างกลับสู่สถานะสดอีกสิ่งหนึ่งที่คุณสามารถทำได้เพื่อลดการใช้หน่วยความจำคือ การหยุด Visual Studio Standard Collector Service โดยใช้ Service Manager UI ชื่อของบริการคือ "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 GUI คือการเริ่ม / เรียกใช้และพิมพ์ "services.msc" แล้วกด Enter ในรายการบริการบนเครื่อง Windows 7 ของฉันชื่อฉันเชื่อว่าเป็นรายการที่กล่าวถึงเป็น "Visual Studio Standard Collector Service"
Developer63 - GoFund Monica

ที่น่าสนใจถึงแม้ว่าฉันได้ติดตั้งอัปเดต 1 แล้ว -> ด้วยเหตุนี้ฉันจึงใช้หน้าต่างแบบโต้ตอบ c # (ใช้ได้เฉพาะในอัปเดต 1) น่าสนใจว่าโค้ดตัวอย่างจากลิงก์ของคุณที่คนทำซ้ำนั้นใช้งาน แอปพลิเคชันของฉันใช้งานอย่างเป็นธรรมและมีรหัส async ด้วย
C. Tewalt

@matrixugly ตามที่ฉันเข้าใจปัญหา Collector Service นั้นทำงานอยู่ตลอดเวลาเมื่อ VS2015 ทำงานอยู่กำลังรวบรวมข้อมูลการใช้เครื่องมือ / การวินิจฉัยของแอป ดังนั้นสิ่งที่คุณทำในขณะที่ Windows แจ้งเตือนหน่วยความจำเหลือน้อยอาจมีหรือไม่มีความเกี่ยวข้องกับปัญหา อาจเป็นบางสิ่งที่เร็วกว่านี้ซึ่งกระบวนการ Collector Service ล้มเหลวในการรับรู้ว่าจำเป็นต้องเริ่มล้างข้อมูลเครื่องมือวัดเก่าค่อยๆเต็มหน่วยความจำและข้อความปรากฏขึ้นในเวลาต่อมาในระหว่างกิจกรรมที่ไม่เกี่ยวข้อง
Developer63 - GoFund Monica

7
ยังคงมีอยู่ในอัพเดต 3 RC :(
SayusiAndo

1
นี่เป็นปัญหาสำหรับ VS2017 หรือไม่ ถ้าเป็นเช่นนั้นจะมีผลอะไรบ้างในการปิดใช้งานบริการนี้?
ม้วน

2

ปิดใช้งานบริการและจะไม่กินหน่วยความจำของคุณอีก

เครื่องมือ -> ตัวเลือก -> การดีบัก -> ทั่วไปปิดการใช้งาน "เปิดใช้งานเครื่องมือการวินิจฉัยในขณะที่การดีบั๊ก"


2
คุณควรพูดถึงว่าคุณไม่มีเครื่องมือวินิจฉัยที่เป็นส่วนหนึ่งของชุดการแก้ไขข้อบกพร่องที่ผู้คนจำนวนมากใช้
ม้วน

1
โดยส่วนตัวในฐานะนักพัฒนาฉันมักจะปิดการใช้งานเครื่องมือการวินิจฉัยเพราะฉันรู้สึกว่ามันทำให้เครื่องของฉันช้าลงมากตั้งแต่ครั้งแรกที่ฉันเห็นมันและเปิดใช้งานเมื่อฉันมีปัญหาประสิทธิภาพการทำงานจริงเท่านั้นที่ฉันต้องวินิจฉัย หายาก) และยังคงช่วงการทำโปรไฟล์มักจะให้ข้อมูลฉันมากกว่านี้ ฉันค่อนข้างอยากรู้ว่าคนอื่นจะใช้อะไรเป็นประจำ
Eduardo Wada
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.