การใช้หน่วยความจำ Windows 7 (x64) เพิ่มขึ้นถึง 90% ในขณะที่ระบบไม่ได้ทำงาน


12

ฉันมี windows 7 พร้อม RAM 4GB เมื่อระบบเริ่มต้นจากการบูตใหม่ฉันเริ่มต้นด้วยการใช้งานประมาณ 33% อย่างไรก็ตามถ้าฉันเดินไปกับเครื่องคอมพิวเตอร์โดยไม่ได้ใช้งานสองสามชั่วโมงหรือข้ามคืนพีซีของฉันมักจะปีนขึ้นไปสูง 80 หรือมากกว่า 90% การใช้งาน (ครั้งเดียวมันก็สูงถึง 98%!)

คอมมิชชันที่ใหญ่ที่สุดมักจะเป็น SVCHost.exe ที่ประมาณ 500MB กระบวนการ sidebar.exe ของฉันยังมีแนวโน้มที่จะปีนขึ้นไปที่หมายเลขเดียวกัน

นี่คือการพัฒนาใหม่ตั้งแต่อัปเกรดเป็น Win7 SP1 และฉันไม่พบข้อมูลมากมายเกี่ยวกับมันบนอินเทอร์เน็ต มีคนอื่นประสบปัญหานี้หรือไม่?

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

แก้ไข 2: แท็กเป็น "service-pack" ปัญหานี้ไม่ได้เกิดขึ้นจนกว่าจะมีการติดตั้ง SP1 ดังนั้นฉันสงสัยว่าอาจเป็นสาเหตุของปัญหาหรือไม่


คุณวัดการใช้หน่วยความจำอย่างไร ตัวจัดการงานบอกว่า 512 MB ที่ว่างจาก 6GB นั้นใช้ได้ถ้าส่วนใหญ่มันอยู่ในแคชเพราะมันจะถูกปลดปล่อยทันทีหากจำเป็น ...
Mokubai

คุณไม่ได้อธิบายปัญหา ทำไมคุณต้องการหน่วยความจำกลับ จะเกิดอะไรขึ้นถ้าคุณไม่รีบูต พฤติกรรมทั้งหมดที่คุณอธิบายเป็นเรื่องปกติโดยสมบูรณ์ หน่วยความจำฟรีเป็นหน่วยความจำที่สูญเปล่า - มันไม่เหมือนถ้าคุณใช้ 2GB วันนี้เท่านั้นคุณสามารถใช้ 6GB ในวันพรุ่งนี้
David Schwartz

ฉันมี 6GB Ram บน Win7 SP1 ฉันต้องการใช้ VS2015 และ SQL management studio สำหรับการพัฒนา แต่ไม่มี RAM ที่ใช้งานจริงที่ใช้คือ 90 +% ตอนนี้คุณสามารถถ่ายภาพสิ่งที่จะเกิดขึ้นถ้าฉันใช้ทั้ง mem mem เสมือนจริงและอื่น ๆ และเนื่องจาก HD เป็นวิธีที่ช้าที่จะใช้เป็นหน่วยความจำคุณสามารถจินตนาการได้ว่าจะเกิดอะไรขึ้น mem ส่วนใหญ่ที่ใช้คือ svchost.exe -k LocalSystemNetworkRestricted
ยอมรับ

คำตอบ:


6

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

นี่เป็นข้อแตกต่างในวิธีที่ Windows และ Linux ใช้หน่วยความจำ บนระบบลินุกซ์นี่น่าจะกังวลมากกว่ากันเพราะใช้การแลกเปลี่ยนเป็นทางเลือกสุดท้าย ไม่มีอะไรถูกสับเปลี่ยนเว้นแต่จำเป็นจริงๆและดังนั้น Linux จะต้องใช้เวลาก่อนในการเขียน RAM ที่ใช้ไปยังพาร์ทิชัน swap ก่อนที่จะสามารถเรียกคืนสำหรับโปรแกรมอื่น ๆ ในทางกลับกัน Windows ก็ชอบที่จะทำให้ RAM ของเพจทั้งหมดตลอดเวลา วิธีนี้หากจำเป็นต้องใช้ RAM เพื่อใช้สำหรับกระบวนการอื่นจะได้รับการเพจไว้ในดิสก์แล้วดังนั้นจึงสามารถเรียกคืนได้รวดเร็วยิ่งขึ้น มันเป็นการแลกเปลี่ยนกัน - ลินุกซ์นั้นเร็วกว่าสำหรับ RAM ซึ่งจะไม่มีการทำเพจ / สลับและ Windows จะเร็วขึ้นในแง่นี้เมื่อคุณต้องการสลับอย่างรวดเร็ว


@JoelCoehoom "Windows ในทางกลับกันชอบที่จะเก็บ RAM ไว้ทุกหน้าตลอดเวลา"ขออภัยที่เป็นตำนานทั่วไป ในระบบของฉันฉันมี RAM 16 GiB และ 7.5 GiB ของพื้นที่ที่อยู่เสมือนที่สำรองไฟล์ pagefile (เช่น "การเรียกเก็บเงิน") แต่จริง ๆ แล้ว pagefile มีเพียงประมาณ 570 MiB เท่านั้น (ผมคิดว่าตำนานได้เริ่มต้นเมื่อผู้จัดการงานของ XP ด้วยเหตุผลบางกินลึกป้ายว่า "การใช้งาน PF" กราฟมันถูกจริงๆเท่านั้นแสดงให้เห็นถึงค่าใช้จ่ายที่สามารถเป็นได้ แต่ในฐานะที่เป็นปัจจุบันกระทำ. ที่มีศักยภาพการใช้งาน pagefile.
เจมี่ Hanrahan

ฉันมี 6GB Ram บน Win7 SP1 ฉันต้องการใช้ VS2015 และ SQL management studio สำหรับการพัฒนา แต่ไม่มี RAM ที่ใช้งานจริงที่ใช้คือ 90 +% ตอนนี้คุณสามารถถ่ายภาพสิ่งที่จะเกิดขึ้นถ้าฉันใช้ทั้ง mem mem เสมือนจริงและอื่น ๆ และเนื่องจาก HD เป็นวิธีที่ช้าที่จะใช้เป็นหน่วยความจำคุณสามารถจินตนาการได้ว่าจะเกิดอะไรขึ้น mem ส่วนใหญ่ที่ใช้คือ svchost.exe -k LocalSystemNetworkRestricted
ยอมรับ

2

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

คำแนะนำ: การอัปเกรด RAM เป็น 8 GB จะดีกว่าหากเมนบอร์ดของคุณสามารถรองรับสิ่งนี้ได้เนื่องจาก Windows Vista และ Windows 7 ทั้งคู่ใช้หน่วยความจำจำนวนมากและแอปพลิเคชันที่ใหม่กว่าก็ดูเหมือนจะใช้ RAM เพิ่มขึ้นเช่นกัน


2
ฉันไม่คิดว่า "ปิดการใช้งานแถบด้านข้าง" เป็นตัวเลือกที่ทำงานได้จริง แกดเจ็ตของฉันอยู่ที่นั่นตั้งแต่ฉันได้รับระบบและปัญหานี้เพิ่งเกิดขึ้น (ตั้งแต่ SP1)
Chris Sobolewski

@Chris Sobolewski: แน่นอนว่าเป็นทางเลือกของคุณ แน่นอนถ้าคุณปิดการใช้งานในขณะที่คุณจะได้เปรียบในการวินิจฉัยว่าเป็นผู้กระทำผิด (หรือการพิจารณาว่ามันเป็นสาเหตุของการรั่วไหลของทรัพยากรของคุณ) นอกจากนี้อย่าลดความเป็นไปได้ที่การอัพเดต SP1 อาจอัปเดตแกดเจ็ตเหล่านั้นบางตัวรวมถึงโค้ดแถบด้านข้างด้วยตัวเองเพียงเพราะเป็นการอัปเดตเพื่อแก้ไขสิ่งต่าง ๆ ไม่ได้หมายความว่ามันไม่ได้ทำลายอะไรเลย
Randolf Richardson

2

คุณกำลังบอกว่าการใช้หน่วยความจำที่ใหญ่ที่สุดคือ 5MB? สำหรับฉัน svhost.exe ใช้เวลา 180mb ของหน่วยความจำและ firefox ด้วยการใช้งานแท็บไม่กี่ใช้เวลาประมาณ 500mb คุณช่วยตรวจสอบการใช้หน่วยความจำและแจ้งให้เราทราบได้อย่างไร? มีการติดตั้ง SQL Server หรือไม่ เป็นที่รู้กันว่า SQL กินทุกอย่างที่มีชีวิตขึ้นอยู่กับชนิดของฐานข้อมูลที่คุณอาจมีไว้เพื่อการพัฒนา

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


ถูกต้อง. เมื่อฉันเริ่มต้นกระบวนการโฮสต์จะใช้เวลาประมาณ 180 MB หรือมากกว่านั้นเช่นเดียวกับคุณ แต่เมื่อฉันกลับมาอีกครั้งโดยไม่ได้ใช้งานมันจะมีค่าประมาณ 500mb คุณอาจกำลังใช้ SQL อยู่ฉันกำลังใช้งานอินสแตนซ์ของ mySQL อยู่ แต่ฉันใช้เพื่อการทดสอบเท่านั้นและฐานข้อมูลไม่ควรทำอะไรหากฉันไม่ได้ใช้พีซี ฉันจะลองทำเช่นนั้น แต่สงสัยว่าสิ่งนี้จะเชื่อมต่ออย่างไรขณะที่ฉันใช้พีซีมาระยะหนึ่งแล้วและนี่เป็นปรากฏการณ์ใหม่
Chris Sobolewski

คุณสามารถใช้ process explorer และคลิกขวาที่ svchost.exe จากกระบวนการที่ไม่พอใจจากนั้นไปที่แท็บบริการและค้นหาบริการที่ใช้งานอยู่ svhost.exe ของฉันที่มีหน่วยความจำจำนวนมากโฮสต์ 2 บริการ BFE และ MpsSvc ดูว่าคุณมีกระบวนการอื่น ๆ นอกจากนี้ยังมีตัวเลือกที่เป็นไปได้มากมายเกี่ยวกับหน่วยความจำรั่ว svhost -> social.technet.microsoft.com/Forums/en-US/w7itproperf/thread/…ลอง google ดูบ้าง สามารถเป็นอะไรก็ได้ตั้งแต่การรั่วไหลของบริการไปจนถึงไดรเวอร์วิดีโอที่เป็นปัญหา คุณลองอัปเดตไดรเวอร์ของคุณเป็นเวอร์ชั่นใหม่ล่าสุดได้หรือไม่?
MadBoy

2

ด้วย Process Explorer คุณสามารถเลื่อนscvhost.exeกระบวนการเพื่อดูว่าบริการใดเป็นโฮสต์

หากคุณต้องการแก้ไขปัญหานี้โดยละเอียดMicrosoft Sysinternals VMMapสามารถช่วยคุณได้
ช่วยให้คุณสามารถตรวจสอบหน่วยความจำที่แมปและสามารถช่วยให้คุณระบุบริการเฉพาะ ...

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


ดูเหมือนว่ามันจะมีประโยชน์ มีตัวเลือกการบันทึกข้อมูลหรือไม่เพื่อให้ฉันสามารถทิ้งมันไว้และเดินไปจากนั้นดูว่าเกิดอะไรขึ้นในขณะที่ฉันจากไป?
Chris Sobolewski

@ChrisSobolewski: ฉันไม่คิดอย่างนั้นนอกเหนือจากไทม์ไลน์หรือปล่อยให้ Process Explorer ทำงานในพื้นหลัง ...
Tamara Wijsman

0

ฉันมีปัญหาเดียวกัน - เห็นได้ชัดว่ามันเป็นความจำรั่วในแถบด้านข้างที่เกิดจาก IE9 นี่คือข้อมูลเพิ่มเติม

มีการแก้ไขสองประการที่ฉันทราบในขณะนี้: มีแฮ็คที่รีสตาร์ทแถบด้านข้างเป็นครั้งคราวและวิธีการที่ถาวรกว่าคือถอนการติดตั้ง IE9

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