Pull to refresh

Comments 38

tl;dr: Автор не освоил даже диспетчер задач и решил, что process explorer его спасет.
При этом, автор считает, что при удалении файла подкачки Private Working Set будет равен Commit Size, что неверно хотя бы потому, что отмапленные в память EXE и DLL файлы сразу будут занимать весь Commit Size, но подкачиваться в Working Set при необходимости, удаление pagefile на это не влияет. Подкачка исполнимых файлов запрещается другим способом.
Я дико извиняюсь, и да, я вижу, что это перевод, но эта тема уже освещалась довольно подробно хабраюзером amirul
habr.com/post/107605
К примеру той статьи я не видел, мне лично полезной оказалась эта, прошло 8 лет.
Что тогда с автором предложите делать?
Просто в той статье уже всё довольно подробно разобрано до базовых принципов понятным русским языком. За 8 лет в Memory managmentе windows NT ничего из того что затронуто в этом переводе.
А так можно дайти что каждые 5 лет кто-то заново будет открывать для себя windows internals Руссиновича и постить «открытия» сюда.
Вопрос переноса свопфайла на RАМ диск в той статье затронут очень вскользь. Разве для жадного до памяти (частые вылеты по нехватке) 32 бит(!) приложения, работающего в среде Win10 x64 на 64 ГБ ОЗУ, нет смысла выделить кусок памяти (выше выделенных 4 ГБ), невидимой именно такими приложениями, с целью помещения туда своп файла, куда эти приложения однозначно и активно будут при работе вытесняться? (им же не все из адресуемых в 32 бит 4 ГБ положены — часть ведь «под ядро» так и выделяется, как издавна повелось...)
Если процессор и ОС нужной разрядности — то 32х-разрядные приложения могут быть расположены в оперативной памяти где угодно. Да, приложению доступны лишь нижние 2 ГБ виртуальной памяти — но реально они могут располагаться где угодно.
Private Bytes [выделенная память] = рабочий набор + файл подкачки
Запустил Process Explorer. Практически у всех процессов Private Bytes меньше рабочего набора. Видимо файл подкачки отрицательный.
не знаю, почему автор поместил файл подкачки в эту формулу. privates bytes вычитает из working set память, которая совместно используется несколькими приложениями. например, любое win32 приложение использует ntdll.dll. его в private bytes не будет.
он давненько не обновлялся
там есть ссылка на гитхаб, на котором есть ссылка на офф. ночные сборки (не знаю есть ли в них плагины).
+ на forum.ru-board.com юзер с ником Victor_VG тоже выкладывает свои сборки (туда и плагины входят).
У Task Manager совсем иная задача — он показывает зрителю очень важный экран очень важного компьютера. Task Manager, раскрытый на весь экран, убедительно формирует антураж напряжённой атмосферы комнаты допроса или бункера командного пункта управления ответным ядерным ударом.
То есть для имитации бурной деятельности перед начальством? Да не особо оно подходит. Раньше для этого использовали tail -f /var/log/squid/access.log или что-то подобное.
Скорее, перед режиссёром ) Первый раз увидел Task Manager во всей красе в «документальном» фильме REN-TV о ядерном щите, второй — в сериале с Охлобыстиным (не вспомню сейчас название, производство Star Media), в обоих случаях экрану с TM уделена масса операторского времени, хотя увязать линии расхода RAM и нагрузки CPU с сюжетом невозможно.
UFO just landed and posted this here
В C++ резервирование памяти осуществляется вызовом VirtualAlloc.
Непонятно, причем здесь язык C++. Разве в C это работает как то иначе?
А как увидеть память, выделенную драйвером RAM-диска? Что-то даже process explorer не показывает, либо я не нашёл.
Подскажите?
В таскменеджере можно увидеть сколько РЕАЛЬНО доступно оперативной памяти?

У меня ноутбук с процессором интел и 8ГБ оперативы, но если использование памяти приближается к отметке 6,5-7ГБ, начинают крошиться приложения и вкладки хрома.
Я так понимаю видеокарта втихаря зажала 1гиг оперативы, а система молчит?
Видеокарта ничего не жрала втихаря, можно посмотреть максимально доступное количество памяти через Control Panel\System and Security\System или во вкладке Performance -> Memory в Task Manager. И там, и там написано большее число — installed memory и меньшее — usable memory.
Вообще, это странно что прям приложения крешатся (вкладки хрома бывало, да). Давно такого поведения не наблюдал, может замедлиться при выделении дополнительной виртуальной памяти. Посмотрите, что у вас стоит в настройках файла подкачки (Control Panel\System and Security\System -> Advanced System Settings -> Performance -> Settings -> Advanced -> Virtual Memory).
В том и дело, когда во вкладке таск менеджера доступной памяти около 1гиг остается, то начинаются чудеса, вебпак к примеру честно ругается на память.

Файл подкачки стоял до 8гиг, сейчас поставил по выбору системы.
Focushift, так, а файл подкачки вы используете? Почему что-то крошится? Если тормозит, то понятно.
Файл подкачки увеличил. Посмотрю что будет.
Увеличил файл подкачки с макс 8гиг, на по выбору системы.
Все стало норм, но странно что сам файл сейчас меньше 8гб и все работает.
Лучше указать файл подкачки вручную и индивидуально для имеющихся условий. У меня, например, памяти много (16 ГБт), но из-за частого использования виртуальных машин и браузера с 20-30 открытыми вкладками (который нынче жрёт память очень сильно) этой памяти, почему-то не хватает и начинает расти файл подкачки. Поэтому, я выставляю ему начальный размер 3 ГБт, а конечный 16 ГБт. Таким образом, он не занимает лишнее место, не очень сильно фрагментируется из-за указанного начального размера и если что, ему есть куда расти.
Не советуйте плохого, пожалуйста.
Мы все знаем, что Microsoft это такие ребята, которые всё делают не так, но я предпочитаю иметь веские аргументы для отключения того или иного функционала.

Раньше, возможно, приходилось ограничивать файл подкачки вручную, если места было мало. А некоторые, наоборот, делали несколько файлов подкачки на разных дисках.
Был еще очень специфичный сценарий, когда винда автоматически выбирала размер исходя из «объем памяти*1.5» и на серверах с 32-64 Гб RAM это было как бы… очень дофига. У меня на ноуте 16Гб RAM, файл подкачки сейчас — 11Гб. Почему такой — ну как бы всё равно, системе виднее. Ничего не падает и не тормозит.
UFO just landed and posted this here
В том, что я, предполагая какую-то жесткую установку, попросил попробовать установить на «авто» и посмотреть что получится, а вы, напротив, пытаетесь зачем-то уйти от «авто» и поставить жесткие рамки.
Если есть утечка памяти (что само по себе безусловно плохо), то «авто» будет увеличивать файл подкачки постоянно и по характерному замедлению пользователь может среагировать, вычислить плохое приложение.
Если будет жесткий лимит, то падать будет не обязательно именно то приложение, которое течёт по памяти, а то, которое спросило больше памяти, чем доступно для выделения.
Поэтому я повторяюсь: жесткие лимиты зло, если только вы совершенно точно не представляете для чего и как вы делаете. Ваш совет, я цитирую «Лучше указать файл подкачки вручную и индивидуально для имеющихся условий» не подойдет для пользователей, поскольку предполагает знания, которых может не быть. Настройка «авто» сработает всегда. В худшем случае, съест больше места.
ggreminder, в целом я согласен с вами, но вариант «авто» идёт по-умолчанию. Следовательно, если этот параметр менялся, значит пользователь предполагает, что знает, что делает (а как уж там на самом деле, это другой вопрос). А утечка памяти дело очень редкое. У меня такое было только один раз за ~15 лет и ~50 ПК, с которыми я имел дело. И кстати, по росту файла подкачки можно примерно определить сколько ОС требуется памяти, а дальше делать выводы. А если нижний размер фиксирован ОС, то тут становится сложнее, т.е. размер может быть 8 ГБт, а ОС регулярно использует на 4 ГБт.
Так у меня 8гб оперативы, и файл подкачки был такого же размера и все было плохо.
Focushift, значит, для вашей ситуации оптимальный вариант по выбору системы. А раньше какой диапазон был выбран для файла подкачки (вы указали только верхнюю границу)? И теперь он до каких объёмов вырастает или выше установленного системой не растёт?
Не смотрел, я только сейчас смотрел что он максимум был 7 гб.
UFO just landed and posted this here
System Explorer отображает древо процессов с отображением использованного объема ОЗУ и подкачки, параметры запуска, использование ЦПУ, ошибки страничного обмена, лог действий системы и приложений и много других полезностей
Кстати заметил что виндовый таск-менеджер не показывает реально используемую память (монитор ресурсов тоже). Наткнулся на то, что я.музыка съела около 10GB памяти, хотя везде отображалось что занимает она около 200мб. Обнаружил это только после того, как увидел что занято 16 из 16GB, и начал по очереди убивать все процессы. Как дошел до я.музыки — сразу освободилось около 10GB.
Sign up to leave a comment.

Articles