ทำไม svchost.exe ใช้หน่วยความจำ 6.5GB?


29

เกิดขึ้นที่นี่คืออะไร? ฉันแทบจะไม่วิ่งเลย

6.5 / 8

แทบจะไม่มีอะไรเลยฉันหมายถึง Firefox และแอปพลิเคชั่นเครือข่ายพื้นหลังบางส่วนที่แฝงตัวและจะไม่ใช้หน่วยความจำขนาดนี้

บริการที่เกี่ยวข้อง: UxSms, TrkWks, SysMain, PcaSvc, Netman, CscService, AudioEndpointBuilder, TabletInputService

สิ่งเดียวที่ฉันคิดได้ก็คือฉันใช้ Virtualbox กับ Ubuntu มาสักพักหนึ่งแล้ว แต่นั่นก็ จำกัด หน่วยความจำ 2GB และมันก็ไม่ทำงานอีกต่อไป


แก้ไข: ฉันสนใจมากที่สุดในคำถามที่ว่าทำไม / อย่างไร? มีแนวโน้มที่จะรั่วไหลไปที่ไหนสักแห่ง แต่ได้รับบริการตามรายการข้างต้นมีความโดดเด่นว่าเป็นผู้ร้ายหรือไม่?



ดูข้อมูลที่เป็นประโยชน์เพิ่มเติมwindowstechinfo.com/2015/05/…
Aravinda

คำตอบ:


28

svchost.exe เป็นกระบวนการที่เรียกใช้บริการ Windows ทั้งหมดของคุณ หนึ่งในนั้นดูเหมือนจะบ้าไปแล้ว คลิกขวาที่ svchost.exe และเลือก "ไปที่บริการ" นั่นจะบอกคุณว่าบริการนี้คืออะไรและคุณสามารถใช้ตัวจัดการบริการเพื่อเริ่มต้นใหม่หรือปิดใช้งานถ้าคุณไม่ต้องการ

สำหรับคำอธิบายที่ดียิ่งขึ้นด้วยภาพหน้าจอที่ดีลองดู:


ในการอัปเดตของคุณคุณสามารถตรวจสอบบริการเหล่านี้ได้สองอย่าง:

  1. CscService: เกี่ยวข้องกับคุณสมบัติ "โฟลเดอร์ออฟไลน์" ของ Windows คุณใช้มันหรือเปล่า?
  2. UxSms: เกี่ยวข้องกับ Desktop Window Manager ลองปิดการใช้งาน Aero ดูว่าปัญหาเกิดขึ้นหรือไม่

7
นี่อาจจะสายเกินไปเล็กน้อย แต่ในกรณีของฉันมันเป็นบริการ wuauserv หรือที่รู้จักในชื่อ Windows Update เสมอ มันใช้มากกว่า 700Mb ในพีซี 1 Gb RAM ที่แย่ของฉัน ฉันต้องหยุดบริการนั้นเสมอเพื่อให้ฉันสามารถทำอะไรบางอย่างได้
tfrascaroli

@Colin เราจะคลิกขวาและ 'ไปที่บริการ' โดยใช้ Sysinternals Process Explorer ได้อย่างไร ดูเหมือนจะไม่มีตัวเลือกนั้นในเมนูคลิกขวา: i.stack.imgur.com/8M5Hm.png
Pacerier

15

หลังจากแยกบริการที่สงสัยว่าเป็นกระบวนการแยกกันฉันสามารถระบุNetwork Store Interface Service(nsi) ว่าเป็นสาเหตุของการรั่วไหลของหน่วยความจำในกรณีของฉัน (Windows 7)

มีเธรดสิบหน้าเกี่ยวกับปัญหานี้ที่http://answers.microsoft.com/en-us/windows/forum/windows_7-system/nsi-memory-leaks-fixed-yet/f3c3e9db-36a7-45df-9dbd- de9455378498

มันกล่าวถึงโปรแกรมแก้ไขด่วนสองสามพร้อมให้ดาวน์โหลดตามความต้องการ:

http://support.microsoft.com/kb/2847346/en-us

http://support.microsoft.com/kb/2950358/en-us

นอกจากนี้ยังมีการแก้ไขที่คล้ายกันสำหรับ Vista และ Server 2008:

http://support.microsoft.com/kb/2743187/EN-US


1
ฉันติดตั้ง Hotfix แล้วและได้แก้ไขเป็นเวลาหลายเดือน แต่ไม่นานมานี้ (ฉันสงสัยว่าหลังจากอัปเดต windows) มันเริ่มเกิดขึ้นอีกครั้ง การนำโปรแกรมแก้ไขด่วนไปใช้ซ้ำดูเหมือนจะไม่มีผลใด ๆ มีคนอื่นในสถานการณ์ที่คล้ายคลึงกันไหม? ทางออกใด ๆ
Sam Hasler

1
ยอดเยี่ยมขอบคุณมาก! ในกรณีของฉัน 2847346 ดูเหมือนว่าจะแก้ไขแล้ว - กลับไปใช้ 4KB ในงานนั้น เคล็ดลับการแยกบริการนั้นจะมีประโยชน์สำหรับการแก้ไขปัญหาอื่น ๆ เช่นกัน
Mark Berry

4

ตัวเลือกอื่น: ใช้ Process Explorer
ก็สามารถดาวน์โหลดได้ผ่านทาง Microsoft TechNet

มันแสดงกระบวนการทำงานทั้งหมดคุณสามารถดูได้อย่างง่ายดายว่า svchost.exe กำลังใช้ทรัพยากร CPU หรือ RAM เพื่อติดตามว่าบริการใดที่กำลังทำงานอยู่

เคล็ดลับ:
เมื่อโฮเวอร์เคอร์เซอร์ของเมาส์เหนือรายการ 'svchost.exe' บริการทั้งหมดที่เกี่ยวข้องกับกระบวนการนี้จะแสดงรายการในหน้าต่าง infotip
หรือเลือกกระบวนการคลิก "คุณสมบัติ" และเลือกแท็บ "บริการ"


ทั้งสองสิ่งนั้นเป็นไปได้ด้วยตัวจัดการงานด้วยเช่นกัน
Enigma

1
จริง แต่ฉันคิดว่า Process Explorer ทำให้มันง่ายขึ้นเล็กน้อย นอกจากนี้คุณยังสามารถดูเธรดสแต็คการเชื่อมต่อเครือข่ายและการตั้งค่าความปลอดภัย ฯลฯ ของกระบวนการ svchost.exe ที่เป็นปัญหารวมถึงข้อมูลประสิทธิภาพโดยละเอียดและกราฟสำหรับกระบวนการเดียวเท่านั้น
Awa

1
สามารถบอกได้หรือไม่ว่าบริการใดบ้างที่ทำงานภายใต้กระบวนการ svchost ใช้หน่วยความจำทั้งหมด เพราะถ้าไม่ใช่มันก็ไร้ประโยชน์
Havenard

1
โดยทั่วไปแล้วใช่ คุณสามารถดูการใช้งาน CPU / รอบต่อเธรดและการตั้งค่าเช่นลำดับความสำคัญของหน่วยความจำ บริการที่เป็นของเธรดที่ระบุจะแสดงรายการไว้เช่นกัน แม้ว่ามันจะไม่ใช่เครื่องมือดีบั๊กหรือการทำโปรไฟล์
Awa

2

สิ่งนี้เกิดขึ้นหลังจากการอัพเดตเป็น Windows 7 Service Pack 1 การรั่วไหลของหน่วยความจำสามารถเกิดขึ้นได้เมื่อเปิดบริการพื้นหลังสำหรับ Windows Update (netsvcs) คุณสามารถหาข้อมูลเพิ่มเติมได้ที่นี่รวมถึงสถานที่อื่น ๆ ดูคำตอบของ Awaที่นี่เพื่อตรวจสอบว่า Windows Update เป็นความผิด

วิธีแก้ปัญหาที่ไม่เหมาะสมหนึ่งในปัญหานี้คือการปิด Windows Update และติดตั้งการปรับปรุงทั้งหมดด้วยตนเอง เรียกservices.mscและตั้งWindows Updateและพื้นหลังการบริการอัจฉริยะการถ่ายโอนไปยังผู้พิการ ดูที่นี่สำหรับคำแนะนำทั่วไปเกี่ยวกับการบริการ

อย่างไรก็ตามมีการอัพเดทหลายอย่างเพื่อแก้ไขปัญหานี้โดย Microsoft เมื่อคุณเรียกใช้ Windows Update เป็นครั้งแรกในการติดตั้ง Win7 SP1 ใหม่นั้นจะยืนยันในการติดตั้งWindows Update Agent [WUA] 7.6.7600.320 ( KB2887535 ) ก่อนที่จะให้คุณตรวจสอบการอัพเดทอื่น ๆ ปล่อยให้ทำเช่นนั้นหรือใช้การอัปเดตด้วยตนเองหากติดตั้งออฟไลน์ หลังจากทำเช่นนั้นคุณอาจไม่สามารถติดตั้งการปรับปรุงอื่น ๆ โดยอัตโนมัติจนกว่าปัญหานี้จะได้รับการแก้ไข

จากนั้นดาวน์โหลดด้วยตนเองและติดตั้งการปรับปรุงต่อไปนี้:

https://support.microsoft.com/en-us/kb/3083324

นี้ปรับปรุงและ Windows Update Agentกับรุ่น7.6.7601.18979

นี่คือการอัปเดตใหม่ล่าสุดในซีรี่ส์ที่เผยแพร่โดย Microsoft เพื่อแก้ไขปัญหา แต่ละเวอร์ชันถูกแทนที่ด้วยเวอร์ชันที่ใหม่กว่าและดูเหมือนว่าคุณจะต้องติดตั้งเวอร์ชันล่าสุดเท่านั้น อย่างไรก็ตามหากวิธีนี้ไม่สามารถแก้ไขปัญหาได้คุณสามารถลองติดตั้งการอัปเดตที่เก่ากว่าในซีรีย์หรืออาจติดตั้งพวกเขาทั้งหมดตามลำดับ ตามลำดับเวลาศึกษาการปรับปรุงต่อไปนี้:

https://support.microsoft.com/en-us/kb/2990214
https://support.microsoft.com/en-us/kb/3050265 (มิถุนายน 2558)
https://support.microsoft.com/en- เรา / kb / 3065987 (กรกฎาคม 2015)
https://support.microsoft.com/en-us/kb/3075851 (สิงหาคม 2015)
https://support.microsoft.com/en-us/kb/3083324 (กันยายน 2558 )

จากนั้นตามคำตอบนี้ให้ติดตั้งอัปเดตนี้:

https://support.microsoft.com/en-us/kb/3102810 (20 ต.ค. 2558)

นี้ปรับปรุงWUAกับรุ่น7.6.7601.19046 ในทางทฤษฎีคุณควรจะสามารถข้ามไปยังขั้นตอนนี้และไม่เป็นไร อย่างไรก็ตามการอัพเดทนี้อ้างว่าจะไม่แทนที่การอัพเดทก่อนหน้าซึ่งเป็นสาเหตุที่อาจแนะนำให้ติดตั้งการอัพเดทข้างต้นก่อน

สุดท้ายก็อาจแนะนำให้ปิดบริการดังกล่าวข้างต้นทั้งสองก่อนที่จะทำการติดตั้งการอัพเดทเหล่านี้ด้วยตนเอง ฉันคิดว่าคุณควรจะใช้ได้ทั้งสองวิธีแม้ว่าคุณอาจต้องการรีสตาร์ทเครื่องหลังจากการอัพเดทแต่ละครั้ง

รายงานแตกต่างกันไป แต่สิ่งนี้ควรแก้ไขปัญหาของคุณกับ Windows Update hogging memory และ CPU :)


นี้แก้ไขปัญหาของฉันมากคำตอบอื่น ๆ มีประโยชน์ แต่ windows update ใช้แน่นอนที่สุด
Broken_Code

การปรับปรุง / แก้ไขล่าสุดที่จะติดตั้งล่าสุดคืออะไรในวันนี้
jj_

1

ขอบคุณ Colin สำหรับคำแนะนำที่เป็นประโยชน์ของคุณ

ฉันพบว่า Windows Time Service W32Time ทำให้หน่วยความจำรั่ว (Windows 7/64 Home Premium, IE11, อัพเดทล่าสุดของ Windows)

รายการของฟอรัมอื่น ๆ ระบุว่าการปรับปรุง Internet Explorer บางอย่างทำให้เกิดปัญหา แต่ฉันไม่ได้พยายามตรวจสอบสิ่งนี้

วิธีแก้ไข: เปิดแผงบริการและปิดใช้งานบริการ W32Time ข้อเสียเปรียบ: นาฬิกาของคุณไม่ตรงกับบริการเวลาอินเทอร์เน็ตอีกต่อไป


1

https://support.microsoft.com/en-us/kb/2889748 โปรแกรมแก้ไขด่วนใหม่วินิจฉัยและแก้ไขโดย microsoft


1
แม้ว่าสิ่งนี้อาจตอบคำถามได้ แต่คุณควรให้รายละเอียดเพิ่มเติมเกี่ยวกับเนื้อหาที่เชื่อมโยงและอธิบายว่าเกี่ยวข้องกับคำถามนั้นอย่างไร วิธีนี้จะช่วยให้มั่นใจได้ว่าคำตอบนี้จะเป็นประโยชน์ในกรณีที่หน้าลิงค์ถูกลบหรือออฟไลน์ สำหรับข้อมูลเพิ่มเติมดูโพสต์ Meta Stack Exchangeนี้
bwDraco

0

ลองปิดบริการของคุณสำหรับ:

Superfetch  
Offline files 

กรณีส่วนใหญ่ที่สาเหตุที่ svchost ใช้ RAM มากเกินไปนั้นเป็นเพราะบริการ Superfetch กำลังทำงานอยู่

Superfetchกำลังโหลดแอปพลิเคชันส่วนใหญ่ที่คุณใช้เป็น RAM เพื่อให้โหลดได้ทันที แต่บางครั้งก็สามารถระบายแรมของคุณ

ไฟล์ออฟไลน์ยังสามารถใช้ RAM ได้มาก

คำสุดท้ายบางทีถ้าคุณมีกรณีเดียวกันลองเปิดโดยใช้Process Explorer : http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

จากนั้นคลิกขวาและคุณสมบัติแล้วเลือกบริการเพื่อดูว่าบริการประเภทใดกำลังทำงานอยู่และสิ่งที่อาจเป็นไปได้ ... :)


โปรดทราบว่าหากไม่มีโปรแกรมอื่นของคุณที่ใช้ RAM (เหมือนในคำถามนี้) แสดงว่าเป็นความคิดที่ดีที่ SuperFetch จะใช้ RAM ที่เหลืออยู่ แรมที่ไม่ได้ใช้จะเสียแรม
MSalters

โปรดทราบว่า SuperFetch ไม่ปรากฏว่าใช้ RAM RAM ที่ใช้สำหรับการแคชไฟล์ (ไม่ใช่เฉพาะแอปพลิเคชัน) อยู่ในรายการหน้าสแตนด์บายซึ่งเป็นส่วนหนึ่งของหน่วยความจำ "พร้อมใช้" และอยู่ในรายการหน้าสแตนด์บายและยังถือว่าเป็น "ว่าง" มันไม่ได้เป็นส่วนหนึ่งของชุดการทำงานของกระบวนการ svchost ดังนั้นหากคุณกำลังมองหาเหตุผลว่าทำไมคุณถึงมี RAM น้อย "พร้อมใช้" หรือชุดการทำงานที่ใหญ่เกินไปในกระบวนการ svchost กระบวนการ SuperFetch ไม่ได้เป็นเช่นนั้น
เจมี่ Hanrahan

0

สาเหตุที่เป็นไปได้มากที่สุดที่หน่วยความจำรั่ว หน่วยความจำถูกจัดสรรไว้สำหรับบางสิ่ง แต่เมื่อสิ่งนั้นเสร็จสิ้นหน่วยความจำจะไม่ได้รับการทำเครื่องหมายว่าว่างเปล่า สิ่งที่เคยล่มสลายคือการอ้างสิทธิ์ในหน่วยความจำอย่างต่อเนื่องและไม่ได้ตั้งค่าให้ว่างอีกครั้ง ปกติแล้วพวกเขาจะเรียกคอลเลกชันขยะนี้


-1

การสแกนอย่างละเอียดตามโซน Alarm

อย่าหยุด svchost.exe ที่อาจทำให้เกิดปัญหาในการเชื่อมต่ออินเทอร์เน็ตของคุณหรือเสียงและเสียง


ฉันต้องฆ่ามัน แต่ Windows กู้คืนได้ มันไม่ใช่ไวรัส แต่ดูเหมือนจะเป็นปัญหาการรั่วไหลที่เกี่ยวข้องกับไดรเวอร์เครือข่าย
ปริศนา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.