Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2020, 14:05   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Утечка RAM, или как считать память процесса

Доброго времени суток.

Пол года назад я подновил себе комп, помимо всего прочего - добавил оперативной памяти.
Было 8 ГБ, не хватало иногда уже на запуске.
Сейчас 16 ГБ, хватает, но проблема в другом, проблема осталась, и проявляется через некоторое время.

Суть проблемы - сразу после запуска занято 1.5-2 гб.
Спустя условную неделю, без перезапуска - переваливает за 10 гб, в состоянии похожем на изначальный - запущены только те программы, которые запускаются при старте.
Лечится перезапуском, но это мне не интересно.

Поднял свой проект игровой оптимизации процессов (который работает как надо, но не понадобился, ибо ресурсов хватает).
Чуть модернизировал его, что бы считать количество занятой памяти. Скриншот приложил.

И вот вопросы ...
Либо я неправильно считаю память, либо есть выгруженная не освобождённая память, которая не закреплена за процессами. Либо ещё что-то.

Код:
peakVirtual+=allprocesses[i].PeakVirtualMemorySize64;
peakWorking+=allprocesses[i].PeakWorkingSet64;
paged64+=allprocesses[i].PagedMemorySize64;
После того как я добавил оперативы - ограничил файл подкачки до 4 гб, чтобы он просто был.
Винда со временем начинает бухтеть на браузер Opera, и закрытие оного не исправляет ситуацию, может пару гигов освободится.

Из того что у меня на уме - написать программу, которая будет мониторить память и процессы, скажем раз в 10 секунд - с целью обнаружить следующую ситуацию:
1) появился процесс = память выделена;
2) процесс работает = память либо стоит на месте, либо плавает туда-сюда, либо растёт;
3) самое важное - процесс пропал, и выделенная под него память не освободилась, находится путём поиска разницы между суммой памяти всех процессов, и информацией о состоянии памяти в отрыве от процессов.

Так я по идее смогу найти, какая падла не умеет работать с памятью. Если эта падла есть.
Собственно пришёл сюда посоветоваться, может кто знает - что может быть, что делать.
Изображения
Тип файла: jpg RAM.jpg (89.9 Кб, 2 просмотров)
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 29.03.2020 в 14:07.
OmegaBerkut вне форума Ответить с цитированием
Старый 30.03.2020, 08:55   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

OmegaBerkut, на скрине слева есть вкладка "процессы" - там и должно быть видно, кто озу отожрал. (Ещё нажми кнопку "отображать процессы всех пользователей") Если там не видно, значит какой-то сервис хулиганит, надо там разбираться

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
процесс пропал, и выделенная под него память не освободилась
- так не бывает, при убиении процесса все его утечки освобождаются. Отожранная память держится только активными процессами
Алексей1153 вне форума Ответить с цитированием
Старый 30.03.2020, 09:11   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Если там не видно, значит какой-то сервис хулиганит
Вот с этим надо бы по подробнее. Потому что нет процессов явно выделяющихся на фоне остальных по памяти.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 31.03.2020, 10:17   #4
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

OmegaBerkut, подробнее - не знаю. Либо методом научного тыка (можно сервисы подёргать, только очень осторожно и не забывать включать обратно) Но ещё лучше - сходить в сервис

кстати, вот ещё мысль - например, когда я запускаю VirtualBox, под неё выделяется определённое количество озу (у меня 2 гигабайта). Но в диспетчере это никак не отображается в процессах, однако общая шкала озу показывается, что да, отожралось

Может быть, что-то похожее и у тебя - виртуалка, песочница или подобное

Последний раз редактировалось Алексей1153; 31.03.2020 в 10:21.
Алексей1153 вне форума Ответить с цитированием
Старый 01.04.2020, 12:27   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Попробуйте вот это (заодно и расскажете)
https://docs.microsoft.com/en-us/sys...wnloads/rammap
waleri вне форума Ответить с цитированием
Старый 03.04.2020, 20:20   #6
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

waleri, благодарю, перед следующим перезапуском поковыряю.

Алексей1153, проблема где-то глубже.
Я выполнил "Выход из системы", и после входа я узрел, что память как была занята, так и осталась занятой.
Пока спасает только полный перезапуск компа. Продолжаем искать причину ... =)
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 03.04.2020, 20:51   #7
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

OmegaBerkut, мне и кажется, что это процесс другого юзера. Либо какой-то хитрый вирус
Алексей1153 вне форума Ответить с цитированием
Старый 04.04.2020, 03:50   #8
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
мне и кажется, что это процесс другого юзера
Других юзеров в системе нет ... Ну как сказать, в папке Users есть какие то три папки.
Одна с иероглифами, вторая со знаками вопросов в чёрных ромбах (не знаю как символ называется), третья "GLCache".
Иероглифы - вообще ничего нет (только подпапки).
Знаки вопроса - какой то мусор Adobe, исполняемых файлов не обнаружил.
"GLCache" - так же, исполняемых файлов и блокирующих (unlocker) дескрипторов нет.

Ещё есть некая папка "Default User", в которую у меня нет доступа. Получилось изменить владельца, но при записи прав происходит "Отказано в доступе", пытался по разному.
По возможности гляну в эту папку из WinPE.

Это должен быть очень хитрый вирус ...
Может ли быть дело в самой системе ? Я могу не перезапускать комп неделями (режим сна), если всё нормально.
В таком режиме уже давно наблюдаю проблему с какой то утечкой памяти, но в последнее время это прям ярко выражено, после того как добавил оперативы - 5+ гигабайт "в холостую" ощутимо.
Виртуалки запускаю крайне редко.

В процессах в колонке "Пользователь" фигурируют - система, моя учётка, NETWORK SERVICE и LOCAL SERVICE.
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 04.04.2020 в 04:02.
OmegaBerkut вне форума Ответить с цитированием
Старый 04.04.2020, 08:30   #9
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
Я могу не перезапускать комп неделями
у меня win7 , я тоже редко перезагружаю, обычно в гибернацию отправляю. Перезагрузка раз в 5...10 дней. Память сама по себе у меня никуда не пропадает, я бы заметил
Алексей1153 вне форума Ответить с цитированием
Старый 04.04.2020, 13:17   #10
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
Перезагрузка раз в 5...10 дней
У меня раз в неделю, и то только потому что куда то девается память.
Раньше по той же причине пару раз в месяц перезагружал.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Считать память программы STest Общие вопросы Delphi 9 28.10.2019 14:44
Утечка памяти. Что если резервировать память и не удалять? spruced Общие вопросы C/C++ 14 13.09.2017 11:23
память процесса T_I_T_A_N Общие вопросы Delphi 7 28.06.2010 13:52
Память процесса BlackOmen Общие вопросы Delphi 3 24.10.2008 20:16
Физическая, виртуальная память процесса!!!! metamfetamin Помощь студентам 2 07.11.2007 09:27