วิธีค้นหาแหล่งที่มาของหน่วยความจำรั่วใน Windows 7


10

ฉันมีเครื่องที่ใช้ Windows 7 ซึ่งมี RAM เหลือน้อย ฉันสามารถดู RAM ฟรีลดลงในเวลาไม่กี่ชั่วโมงจนกระทั่งเครื่องไม่ตอบสนอง ฉันได้ตรวจสอบรายการกระบวนการแล้วและไม่มีใครใช้ RAM ตัวนั้นมากนัก

ฉันได้ตรวจสอบจำนวนการจัดการต่อกระบวนการและตัวบ่งชี้อื่น ๆ แล้ว แต่ยังไม่สามารถหาสาเหตุที่เครื่องหมด RAM

มีวิธีใดที่ดีในการตรวจสอบว่ามีการใช้หน่วยความจำใน Windows หรือไม่?

แก้ไข

นี่คือผลลัพธ์ของtasklistไม่กี่นาทีก่อนที่เครื่องจะไม่ตอบสนอง:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0        300 K
smss.exe                       196 Services                   0      1,024 K
csrss.exe                      272 Services                   0      4,336 K
wininit.exe                    320 Services                   0      4,184 K
csrss.exe                      332 Console                    1      3,516 K
winlogon.exe                   372 Console                    1      6,316 K
services.exe                   416 Services                   0      8,112 K
lsass.exe                      432 Services                   0     10,088 K
lsm.exe                        440 Services                   0      3,664 K
svchost.exe                    548 Services                   0      8,152 K
svchost.exe                    620 Services                   0      6,564 K
svchost.exe                    660 Services                   0     15,764 K
LogonUI.exe                    724 Console                    1     18,428 K
svchost.exe                    768 Services                   0      7,992 K
svchost.exe                    828 Services                   0      9,724 K
svchost.exe                    852 Services                   0     28,092 K
svchost.exe                    176 Services                   0     13,096 K
spoolsv.exe                    824 Services                   0     10,608 K
svchost.exe                    952 Services                   0     11,632 K
svchost.exe                   1076 Services                   0      8,524 K
fshoster32.exe                1120 Services                   0      9,148 K
fsorsp.exe                    1200 Services                   0      8,036 K
fsgk32.exe                    1324 Services                   0      3,084 K
cygrunsrv.exe                 1552 Services                   0      5,852 K
conhost.exe                   1864 Services                   0      2,996 K
sshd.exe                      1896 Services                   0      7,804 K
FSMA32.EXE                    2024 Services                   0      1,628 K
svchost.exe                   1320 Services                   0      5,092 K
fssm32.exe                    1704 Services                   0      2,196 K
FSHDLL64.EXE                  2120 Services                   0        644 K
SearchIndexer.exe             3260 Services                   0     13,596 K
sshd.exe                    138920 Services                   0      8,696 K
sshd.exe                    138448 Services                   0      8,696 K
sshd.exe                    138660 Services                   0      8,696 K
bash.exe                    137924 Services                   0      5,380 K
bash.exe                    137820 Services                   0      3,832 K
SAV32CLI.EXE                136344 Services                   0    133,868 K
WmiPrvSE.exe                139444 Services                   0      7,168 K
sshd.exe                    139672 Services                   0      8,692 K
sshd.exe                    139876 Services                   0      8,684 K
bash.exe                    139992 Services                   0      5,432 K
bash.exe                    140040 Services                   0      3,996 K
bash.exe                    140200 Services                   0      5,400 K
bash.exe                    139424 Services                   0      4,048 K
typeperf.exe                139300 Services                   0      5,372 K
sleep.exe                   138268 Services                   0      2,272 K
sshd.exe                    139612 Services                   0      7,168 K
sshd.exe                    137720 Services                   0      5,700 K
bash.exe                    139524 Services                   0      5,304 K
bash.exe                    138952 Services                   0      3,756 K
tasklist.exe                137580 Services                   0      5,164 K
bash.exe                    139460 Services                   0      5,452 K
bash.exe                    139796 Services                   0        104 K

ณ จุดนั้นwmic OS get FreePhysicalMemory /Valueรายงานหน่วยความจำว่างประมาณ 400 MB จาก 2GB

RamMap:

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

ผู้จัดการงาน:

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


1
คุณสามารถรีสตาร์ทคอมพิวเตอร์และโพสต์ภาพหน้าจอของตัวจัดการงานได้หรือไม่ และให้แน่ใจว่าจะแสดงกระบวนการจากผู้ใช้ทุกคนโปรด หากคุณมีมากกว่า 50-60 หลังการรีบูตมีสิ่งที่คุณสามารถทำได้อย่างแน่นอน แต่ถ้าไม่มีอะไรที่ดูน่ากลัวอะไรก็น่าจะเป็นเรื่องยาก ..
MonkeyZeus

1
คุณมีหน่วยความจำเสมือนหรือหน่วยความจำกายภาพไม่เพียงพอ การแก้ปัญหาและสาเหตุต่างกัน คำเตือนหน่วยความจำเสมือนเหลือน้อยเป็นปัญหาการกำหนดค่าเนื่องจากหน่วยความจำฟิสิคัลเหลือน้อยหมายความว่าคุณต้องใช้กระบวนการหลายอย่าง
Ramhound

1
คุณมีหลักฐานว่าสาเหตุของหน่วยความจำรั่วหรือไม่? ดูเหมือนคุณจะมีหลักฐานที่ดีว่าไม่ใช่ความจำรั่ว (ถึงแม้ว่ามันอาจจะเป็นคนขับรถที่จับตัวเอง แต่ฉันเดา)
David Schwartz

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

1
ภาพหน้าจอของการโพสต์ RAMMAp: technet.microsoft.com/en-us/sysinternals/ff700229.aspx
magicandre1981

คำตอบ:


8

หน่วยความจำสูง usgae มาจากการใช้ตารางหน้าสูง หากต้องการดูกระบวนการที่ใช้ให้ติดตั้ง Windows Performance Toolkitเปิดพร้อมท์คำสั่งในฐานะผู้ดูแลและเรียกใช้คำสั่งนี้:

xperf -on ReferenceSet -BufferSize 1024 -MaxFile 512 -FileMode Circular  && timeout 5 && xperf -d MemUsage.etl

เปิดMemUsage.etlด้วย Windows Performance Analyzer (WPA.exe) ลากและวางกราฟ "ResidentSet" จากรายการกราฟด้านซ้ายไปยังบานหน้าต่างการวิเคราะห์:

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

ตอนนี้ย้ายคอลัมน์ "หมวดหมู่หน้า" ไปทางด้านซ้ายและขยายรายการ "ตารางหน้า":

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

ที่นี่คุณจะเห็นกระบวนการที่มีการใช้งานในระดับสูง บนเว็บไซต์ด้านขวา (หลังเส้นสีน้ำเงิน) คุณจะเห็นการใช้หน่วยความจำตารางหน้าเป็น MB สำหรับแต่ละกระบวนการ


ใน windows8.1 ฉันไม่เห็น 'ผู้อยู่อาศัย' เป็นตัวเลือกกราฟที่มีอยู่ ฉันจะรับมันได้อย่างไร xperf-flag อื่นหรือไม่
akira

ฉันตอบความคิดเห็นของตัวเอง: อัปเดต xperf
akira

นี้ไม่ทำงานสำหรับฉันใน Windows 7 - สายแรกที่Xperfให้xperf: error: NT Kernel Logger: Invalid flags. (0x3ec).
benshepherd

@ benshepherd สำหรับฉันมันใช้งานได้ ตรวจสอบให้แน่ใจว่าคุณใช้ WPT ล่าสุดจาก 8.1 SDK: dropbox.com/s/e5ol59a6n9g3ctb/Win7_xperf.png
magicandre1981

1
ในที่สุดฉันก็ค้นพบปัญหามันเป็น Lenovo "RapidBoot Shield" และลบมันแก้ปัญหาของฉัน: superuser.com/a/850346/79763
sparrowt

0

สิ่งที่ "แปลก" เท่านั้นที่ฉันเห็นได้ที่นี่คือ:

  • คุณมีกระบวนการที่เรียกว่าscan.exeหมูตัวไหนที่ 98% ซีพียูในขณะนี้
  • คุณมีกระบวนการที่เรียกว่าfssm32.exeมี 9 ล้านหน้าผิดพลาด fssm32.exeดูเหมือนโปรแกรมจากโปรแกรมสแกนไวรัส f-secure
  • คุณมีกระบวนการที่เรียกว่าการSAV32CLI.EXEลบหน่วยความจำอีก 130mb + ดูเหมือนว่าคุณรู้สึกดียิ่งขึ้นที่จะเรียกใช้สแกนเนอร์ไวรัส 2 ตัว: ปลอดภัยและมีโซโซในเวลาเดียวกัน

rammap-screenshot ดูโอเคสำหรับฉัน: คุณมีกลุ่มของไฟล์แคช ~ 400mb, 85mb ของพวกเขาในการใช้งาน, 300mb + ในโหมดสแตนด์บาย (หมายถึงพวกมันจะได้รับการปลดปล่อยทันทีที่คุณต้องการหน่วยความจำเพิ่มเติม) เมื่อดูจากจำนวนของ sshd.exe และ bash.exe ที่ประมวลผลมันก็ดูถูกต้องเช่นกัน

วิธีที่ดีที่สุดในการเรียนรู้การทำงานด้านในของวิธีที่ Windows จัดการหน่วยความจำคือการพูดคุยที่นี่: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405คุณใช้เครื่องมือที่ลำโพงได้รับการพัฒนาอยู่แล้ว .


1
ผู้ติดต่อ Microsoft ของฉัน (Microsoft Premier Field Engineers) บอกฉันด้วยว่าตารางเพจขนาด 100MB หลายรายการนั้นไม่ปกติสำหรับ Windows
magicandre1981
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.