У меня машина с Windows 7, в которой все меньше памяти. Я вижу, как свободная оперативная память падает в течение нескольких часов, пока машина не перестает отвечать на запросы. Я проверил список процессов, и ни один из них не занимает столько оперативной памяти.
Я также проверил количество дескрипторов на процесс и различные другие индикаторы, но все еще не могу понять, почему на машине не хватает оперативной памяти.
Есть ли хороший способ проверить, как используется память в 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 МБ свободной памяти из 2 ГБ.
RamMap:
Диспетчер задач:
windows-7
memory
memory-leaks
Laurent
источник
источник
Ответы:
Высокая память обычно происходит из-за высокого использования таблицы страниц . Чтобы увидеть, какие процессы используют его, установите Windows Performance Toolkit , откройте командную строку от имени администратора и выполните эту команду:
Откройте с
MemUsage.etl
помощью Windows Performance Analyzer (WPA.exe), перетащите график ResidentSet из левого списка графиков на панель анализа:Теперь переместите столбец «Категория страницы» влево и разверните запись «Таблица страниц»:
Здесь вы видите процессы, которые имеют высокое использование таблиц. На правом сайте (после синей линии) вы видите использование памяти таблицы страниц в МБ для каждого процесса.
источник
xperf: error: NT Kernel Logger: Invalid flags. (0x3ec).
Единственные «странные» вещи, которые я могу видеть здесь, это:
scan.exe
98% процессоров прямо сейчасfssm32.exe
который называется 9 миллионов ошибок страниц.fssm32.exe
выглядит как программа от сканера вирусов f-secure.SAV32CLI.EXE
который потребляет еще 130 Мб памяти. Похоже, вы чувствуете себя лучше защищенным, чтобы запустить 2 антивирусных сканера: f-secure и sophos одновременно.rammap-screenshot выглядит хорошо для меня: у вас есть пул ~ 400 МБ кэшированных файлов, 85 МБ из них в активном использовании, 300 МБ + в режиме ожидания (то есть они освобождаются, как только вам нужно больше памяти). если посмотреть на количество процессов sshd.exe и bash.exe, это тоже выглядит вполне законно.
лучший способ узнать внутреннюю работу того, как windows управляет памятью, это обсуждение здесь: http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405 .. вы уже используете некоторые инструменты, разработанные динамиком ,
источник