ทำไม dwm.exe ใช้หน่วยความจำมากมาย


25

ฉันเฆี่ยนด้วยเว็บ แต่ฉันเบื่อที่จะอ่าน "สแกนคอมพิวเตอร์เพื่อหาไวรัส" และ "อัปเกรดแรมของคุณ" เพื่อหาคำตอบของคำถามที่คล้ายกัน ฉันเข้าใจว่า dwm.exe ใช้สำหรับ (เพียงใส่) การแคชบิตแมปสำหรับสิ่งต่าง ๆ เช่น Aero-peek และที่คล้ายกัน แต่เท่าที่ฉันได้อ่านมันไม่ควรใช้หน่วยความจำจำนวนมาก

เพื่อนร่วมงานของฉันและฉันทั้งคู่มี RAM 4GB, Core 2 Duo, blah, blah - โดยพื้นฐานแล้วพวกเขาค่อนข้างมีความสามารถ dwm.exe ของเขาทำงานที่ประมาณ 30mb ฉันกำลังทำงานอยู่ที่ประมาณครึ่งกิ๊กแม้ว่ามันจะผันผวนค่อนข้างมาก สิ่งนี้จะเหมือนกันในขณะที่ใช้งานแอปพลิเคชันเดียวกันที่แน่นอน (ปัจจุบันคือ Zend studio, FireFox (พร้อมการใช้งานหน่วยความจำต่ำ - firemin), Outlook) บ่อยครั้งที่ฉันจะได้รับการแจ้งเตือนให้ถามฉันว่าฉันต้องการเปลี่ยนเป็น Aero Basic หรือไม่เพราะใช้หน่วยความจำมากเกินไปและบางครั้งมันก็จะเปลี่ยนเป็นพื้นฐานและแจ้งให้ฉันทราบว่าทำไม

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

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

ความคิดใดที่ว่าทำไมการใช้งานถึงสูงมาก

เราใช้ windows 7 64-bit Professional


คุณสามารถรับเบาะแสจาก Proccess Monitor ได้หรือไม่?
jmreicha

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

1
คุณสามารถเจาะลึกเข้าไปในกระบวนการมากขึ้นและดูว่าถ้ากระบวนการอื่น ๆ ที่มันกำลังพูดถึง
jmreicha

dwm.exe ดูเหมือนจะไม่ปรากฏใน procmon จริง ๆ ... ?
Leonard Challis

ใช่ ProcMon อาจมีขนเล็กน้อย เครื่องมือ sysinternals เกี่ยวกับ Process Explorer เป็นอย่างไร คุณสามารถหาเบาะแสที่อาจจะ?
jmreicha

คำตอบ:


24

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

  1. ไปที่คอมพิวเตอร์ -> คลิกขวาแล้วเลือกคุณสมบัติ
  2. เลือกแท็บขั้นสูง
  3. เลือกปุ่มการตั้งค่าภายใต้ส่วนประสิทธิภาพ สิ่งนี้จะป็อปอัพหน้าต่างตัวเลือกประสิทธิภาพ
  4. บนแท็บแรกคือการแสดงผล เลือกAdjust for best performanceหรือCustom(และเลือกสถานที่ที่คุณต้องการ)

ฉันเลือกCustomตัวเองและเลือกเฉพาะSmooth edges of fontsเพื่อลดการใช้หน่วยความจำจาก 534M เป็น 6M ด้วยการทำงาน 4 หน้าต่าง


2
ถ้าคุณไม่เปิดใช้งาน DWM มันจะไม่ใช้หน่วยความจำแน่นอน;)
Joey

1
นั่นไม่ใช่คำตอบทั้งหมด ฉันมีรูปลักษณ์ที่ดีที่สุดในการตั้งค่าและ dwm.exe มักจะใช้หน่วยความจำ 80-100 MB แต่เมื่อเร็ว ๆ นี้มันได้เริ่ม spiking ที่สูงถึง 1,300 MB RAM หากฉันยุติกระบวนการก็จะเริ่มต้นใหม่โดยอัตโนมัติด้วย 80 MB ปกติ (และสไตล์ Aero จะใช้อีกครั้งทันทีดังนั้นจึงไม่เหมือนกับการรีสตาร์ทการฆ่าเอฟเฟ็กต์ภาพ)
Violet Giraffe

1
ขอบคุณสิ่งนี้ทำให้คอมพิวเตอร์ของฉันเร็วขึ้นมากโดยเฉพาะใน Eclipse โปรดทราบว่ามันปิด 'Aero' และเอฟเฟกต์หน้าต่างโปร่งใส ฯลฯ
pjc50

ฉันลองคำใบ้จากcomputerhope.com/issues/ch001182.htmเพื่อเปลี่ยนจาก (ค่าเริ่มต้น) สไตล์ Aero เป็น Win ธีมพื้นฐาน - และการใช้งานที่ลดลงนี้ (แต่ไม่เพียงพอสำหรับฉัน) ต่อไปฉันลองแก้ไขนี้และดูเหมือนว่าจะช่วยได้จริงๆ
Lars Nordin

@ pjc50 ฉันเพิ่งเริ่มใช้ Eclipse และสังเกตว่า dwm.exe ใช้หน่วยความจำมากกว่าปกติ บางที Eclipse อาจทำงานได้ไม่ดีกับ Aero?
Nicholas Pickering

6

เนื่องจากฉันยังไม่สามารถแสดงความคิดเห็นได้ฉันจะเพิ่มนี่เป็นคำตอบเพิ่มเติม Microsoft ได้ยืนยันการรั่วไหลของหน่วยความจำใน DWMEXE: https://support.microsoft.com/en-us/kb/3078667

ในระยะสั้น DWMEXE หน่วยความจำรั่วเมื่อหน้าต่างสถานะจะเปิดเป็นเวลานาน


1

ลองเริ่มบริการ dwm ใหม่:

  1. ตีWin+ rและประเภทservices.msc
  2. ค้นหาตั้งโต๊ะจัดการหน้าต่างจัดการเซสชัน
  3. คลิกเริ่มบริการใหม่และดูว่าแก้ไขได้หรือไม่

หรือถ้าคุณต้องการที่จะกำจัดของกระบวนการทั้งหมดเข้าด้วยกันเพียงแค่คลิกหยุด


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

ทางเทคนิคใช่ แต่ที่นี่อ่านนี้ดูว่านี้จะช่วยใด ๆ : howtogeek.com/howto/windows-vista/…
imtheman

1
ฉันไม่เห็นวิธีที่ช่วยเลย โปรดทราบว่าฉันไม่แนะนำให้ปิดการทำงานนี้จนกว่าคุณจะเล่นเกมในโหมดเต็มหน้าจอและแม้ว่าจะเป็นไปได้ว่าจะไม่ช่วยเพิ่มความเร็ว สำหรับผู้เริ่มต้นและฉันได้อ่านหน้านี้แล้ว (ฉันทำ Google ก่อนโพสต์คำถามนี้) ฉันก็บอกว่าฉันรู้ว่ามันเป็นไปได้ที่จะหยุดมันเปลี่ยน แต่ฉันต้องการที่จะรู้ว่าทำไมมันใช้หน่วยความจำมากเกินไปมิฉะนั้นมันก็แค่กระดาษแตกรอยแตก และนี่ก็ไม่ได้ช่วยอะไรเลย
Leonard Challis

เริ่มต้นจาก Windows 7 เป็นไปไม่ได้ที่จะหยุด DWM (เพื่อให้บริการไม่ได้แสดงใน services.msc)
marijnr

0

ความเร็วขึ้นอีกเคล็ดลับคือการถือwindows keyและกดrพิมพ์msconfigและกดenterคลิกบนboot tab> advanced optionsแล้วตรวจสอบmark number of processorsแล้วคลิกลูกศรลงและเลือกจำนวนสูงสุดของแกน 2 เป็นคู่ 4 okรูปสี่เหลี่ยมตี
ทำเครื่องหมายบันทึกการบูตและข้อมูลการบู๊ตระบบปฏิบัติการจากนั้นคลิกขวาmake all boot changes permanentและตรวจสอบให้แน่ใจว่าไม่มีอะไรเปิดและกดapplyจากนั้นเริ่มต้นใหม่
คอมพิวเตอร์ Microsoft Windows ส่วนใหญ่ใช้หนึ่งคอร์เท่านั้นโดยการตั้งค่าเริ่มต้น ใช้งานได้กับ windows 8 และ 8.1 อย่างแน่นอน ฉันไม่ได้ลองอะไรมาก่อนเลย
โชคดี :)


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