विंडोज 7 में मेमोरी लीक का स्रोत कैसे खोजें?


10

मुझे एक विंडोज 7 मशीन मिली है जो रैम में कम चलती है। जब तक मशीन अनुत्तरदायी नहीं हो जाती, तब तक मैं कुछ घंटों के लिए मुफ्त रैम नीचे जा सकता हूं। मैंने प्रक्रिया सूची की जाँच की है और उनमें से कोई भी इतना रैम नहीं लेता है।

मैंने प्रति प्रक्रिया और विभिन्न अन्य संकेतकों के हैंडल की संख्या भी जांची है, लेकिन अभी भी यह नहीं पाया जा सकता है कि मशीन रैम से बाहर क्यों चलती है।

क्या विंडोज में मेमोरी का उपयोग कैसे किया जाता है यह जांचने का कोई अच्छा तरीका है?

संपादित करें

यहाँ 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 /Value2GB में से 400 एमबी मुफ्त मेमोरी के बारे में रिपोर्ट करता है।

RamMap:

यहाँ छवि विवरण दर्ज करें

कार्य प्रबंधक:

यहाँ छवि विवरण दर्ज करें


1
क्या आप अपना कंप्यूटर पुनः आरंभ कर सकते हैं और अपनी टास्क मैनेजर प्रक्रियाओं का स्क्रीनशॉट पोस्ट कर सकते हैं? और कृपया सभी उपयोगकर्ताओं से प्रक्रियाएँ प्रदर्शित करना सुनिश्चित करें। यदि आपके पास एक रिबूट के बाद 50-60 से अधिक है तो निश्चित रूप से चीजें हैं जो आप कर सकते हैं लेकिन अगर कुछ भी गड़बड़ नहीं दिखता है तो चीजें मुश्किल हो सकती हैं ..
मंकीज़ेउस

1
क्या आप वर्चुअल मेमोरी या फिजिकल मेमोरी से बाहर चल रहे हैं। समाधान और कारण अलग हैं। कम वर्चुअल मेमोरी चेतावनी एक कॉन्फ़िगरेशन समस्या है, भौतिक मेमोरी पर कम होने का मतलब है कि आपको कई प्रक्रियाएं चल रही हैं।
रामहुंड

1
क्या आपके पास कोई सबूत है कि इसका कारण मेमोरी लीक है? ऐसा लगता है कि आपके पास अच्छे सबूत हैं कि यह मेमोरी लीक नहीं है। (हालांकि यह एक बस्टेड ड्राइवर हो सकता है, मुझे लगता है।)
डेविड श्वार्ट्ज

प्रतिक्रिया के लिए धन्यवाद। मैंने पोस्ट में कुछ और जानकारी जोड़ी है, विशेष रूप से कार्य सूची में। यह मुफ्त भौतिक स्मृति है जो समय के साथ नीचे जाती रहती है। क्या यह जांचना संभव है कि इसका उपयोग कैसे किया जाता है?
लौरेंट

1
RAMMAp के पोस्ट स्क्रीनशॉट: Technet.microsoft.com/en-us/sysinternals/ff700229.aspx
magicandre1981

जवाबों:


8

उच्च मेमोरी usgae एक उच्च पृष्ठ तालिका उपयोग से आता है । यह देखने के लिए कि कौन-सी प्रक्रियाएँ इसका उपयोग करती हैं, Windows प्रदर्शन टूलकिट स्थापित करें , कमांड के रूप में कमांड प्रॉम्प्ट खोलें और इस कमांड को चलाएं:

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

MemUsage.etlWindows प्रदर्शन विश्लेषक (WPA.exe) के साथ खोलें , ग्राफ़ "रेसिडेंटसेट" को बाएं ग्राफ सूची से विश्लेषण फलक तक खींचें और छोड़ें:

यहाँ छवि विवरण दर्ज करें

अब "पेज श्रेणी" कॉलम को बाईं ओर ले जाएँ और "पेज टेबल" प्रविष्टि का विस्तार करें:

यहाँ छवि विवरण दर्ज करें

यहां आप उन प्रक्रियाओं को देखते हैं जिनमें उच्च उपयोग योग्य हैं। सही साइट पर (नीली रेखा के बाद), आप प्रत्येक प्रक्रिया के लिए एमबी में पेज टेबल मेमोरी का उपयोग देखते हैं।


windows8.1 में मैं 'निवासी' को उपलब्ध ग्राफ़-विकल्प के रूप में नहीं देखता। मैं इसे कैसे प्राप्त कर सकता हूँ? एक अलग xperf- झंडा?
अकीरा

मैं अपनी टिप्पणी का जवाब: अद्यतन xperf।
अकीरा

यह विंडोज 7 में मेरे लिए काम नहीं करता है - करने के लिए पहली कॉल xperf देता हैxperf: error: NT Kernel Logger: Invalid flags. (0x3ec).
benshepherd

मेरे लिए @benshepherd यह काम करता है। सुनिश्चित करें कि आप 8.1 एसडीके से नवीनतम WPT का उपयोग करें: dropbox.com/s/e5ol59a6n9g3ctb/Win7_xperf.png
magicandre1981

1
मैं अंत में समस्या की खोज की है, यह लेनोवो "RapidBoot शील्ड" था और यह मेरी समस्या हल निकालने: superuser.com/a/850346/79763
sparrowt

0

केवल "अजीब" चीजें जो मैं यहां देख सकता हूं वे ये हैं:

  • आपके पास एक प्रक्रिया है, scan.exeजो अभी 98% cpu से दूर है
  • आपके पास एक प्रक्रिया है जिसे fssm32.exe9 लाख पृष्ठ दोष हैं। fssm32.exeएफ-सिक्योर वायरस स्कैनर से प्रोग्राम की तरह दिखता है।
  • आपके पास एक प्रक्रिया भी है, SAV32CLI.EXEजो स्मृति के एक और 130mb + हॉग को दूर करती है। ऐसा लगता है कि आप एक ही समय में 2 वायरस-स्कैनर चलाने के लिए बेहतर संरक्षित महसूस करते हैं: एक ही समय में f-Secure और sophos।

मेरे लिए rammap- स्क्रीनशॉट ठीक लगता है: आपके पास ~ 400mb कैश्ड फ़ाइलों का एक पूल है, उनमें से 85mb सक्रिय उपयोग में है, 300mb + स्टैंडबाई मोड में है (जिसका अर्थ है कि उन्हें जल्द से जल्द मुक्त कर दिया जाता है जब आपको अधिक RAM की आवश्यकता होती है)। आपकी राशि sshd.exe और bash.exe प्रक्रियाओं को देखते हुए यह कानूनी भी लगती है।

सबसे अच्छा तरीका है कि कैसे विंडो मेमोरी का आंतरिक कामकाज सीखने के लिए यह बात यहाँ है: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405 .. आप पहले से ही स्पीकर को विकसित किए गए कुछ टूल का उपयोग कर रहे हैं। ।


1
मेरे Microsoft संपर्कों (Microsoft Premier Field Engineers) ने मुझे यह भी बताया कि कई 100MB पेज की टेबल विंडोज के लिए सामान्य नहीं है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.