Формула, используемая Microsoft для расчета процента использования памяти в диспетчере задач?

Формула, используемая Microsoft для расчета процента использования памяти в диспетчере задач?

Не удалось найти ответ на этот вопрос. Вот некоторая предыстория.

Я работаю на W7 64 Pro и вижу разбивку в Resource Monitor, но когда я складываю итоги столбцов, я не могу, что бы я ни делал, получить % число, рассчитанное MS, что само по себе кажется ненадежным. Я говорю это, потому что у меня есть система, в которой была проблема с неконтролируемой оперативной памятью, и этот процесс в конечном итоге сделал систему непригодной для использования, но диспетчер задач сообщил, что система была на 65% используемой емкости, в то время как ошибка утверждала, что нет доступной памяти. Для справки, эта система всегда имела проблему «ползучести оперативной памяти», даже до проблемы неконтролируемой.

Хорошо, это подводит меня к системным сбоям с использованием 65% ОЗУ. Я мог видеть, что встроенная графика могла иметь блокировку на 2 ГБ, что, я думаю, верно для этой системы. В то время я использовал графику платы/процессора. Если встроенная графика действительно резервирует память, это нигде не отображается как часть какого-либо процесса, однако, похоже, что это должно отображаться в мониторе ресурсов как «Зарезервировано оборудованием». Кроме того, в окнах свойств системы и в сведениях о системе система отображается как имеющая 8 ГБ, а не 6 или 7,5 и т. д. В любом случае, трудно найти информацию о HP 6200 Pro с графикой Intel 2000, поэтому я не уверен, как управляется графика. Обработка графики для встроенной графики выполняется процессором с этим процессором i5 (i5-2400). Ну, может быть, распределение графики (зарезервированная память) является причиной того, что система выжала 65% памяти, не знаю. В конечном итоге мне удалось найти неконтролируемый процесс, которым был монитор диска HWiNFO, и неконтролируемое использование прекратилось. Однако использование все еще слишком велико. В системе 8 ГБ, и даже после пары месяцев стабилизации и добавления выделенной видеокарты (HD 4550) память простаивает примерно на 46%. Это по сравнению с другими системами, которые у меня простаивают на 25-35%. Я не могу сказать, но постепенное развитие проблемы с памятью, по крайней мере, замедлилось. Трудно сказать, потому что, похоже, она простаивает на все более и более высоком %, но, возможно, это прекратится, и это очень медленный процесс.

Но это то, что я действительно хотел бы знать. Как бы я ни добавлял столбцы в диспетчере задач с помощью электронной таблицы, я не могу получить общий % MS, показанный в TM. Это, конечно, то, что также используется программным обеспечением для мониторинга, поэтому я предполагаю, что в этом числе что-то есть. Но как MS вычисляет это число.

Для справки, даже если я складываю рабочий набор и частные ws вместе, я все равно получаю намного меньше того, что MS говорит, что система использует. Если я добавляю коммит к общему количеству, я перехожу. Опять же, я могу видеть в Resource Monitor, что MS говорит, что используется, так что, пожалуйста, не поднимайте эту тему. Просто я нигде не могу найти определение или опубликование того, что именно MS подразумевает под «Используется».

решение1

Сложение столбцов использования памяти никогда не будет равно общему использованию. Есть некоторые существенные пользователи памяти, которые не являются процессами. К ним относятся невыгружаемый пул, резидентная часть выгружаемого пула и файловый кэш. Есть и другие, но они обычно довольно малы.

Как ни странно, кэш файлов не включен в значение "Cached", отображаемое в диспетчере задач. Он включен в используемую оперативную память, но никак не идентифицирован. Он доступен в Performance Monitor и некоторых других утилитах. Кэш файлов может легко достигать 500 МБ или больше. В некоторых случаях гораздо больше.

Использование памяти в любой современной ОС слишком сложно, чтобы его можно было рассчитать простым сложением столбцов чисел.

Расчет процента использования памяти прост: используемая память / общая память * 100.

Связанный контент