5

Как следует интерпретировать числа в информации о виртуальной памяти Windows XP? Я на самом деле просто заинтересован в:

1) Каков общий размер свободного места в "нетронутом" физическом ОЗУ, чтобы система вообще не менялась местами

Для экспериментов я настроил виртуальную машину с использованием Windows 7, под управлением Windows XP, с объемом памяти 768 МБ. Для упрощения виртуальной памяти задано значение "0" (не используйте файл подкачки). Ниже приведены информация о системе и графики:

альтернативный текст

Таким образом, 145 МБ (приблизительно) является "нетронутым" физическим ОЗУ? На самом деле был случай, когда XP выскочил маленький шарик на панели задач, говоря "Недостаточно виртуальной памяти", когда это число было около 120 МБ. Я считаю, что небольшое приложение, которое я запускаю, должно запрашивать только несколько МБ. Таким образом, 120 МБ должно быть достаточно хорошо. Поэтому мне интересно, почему это так.

А как насчет других номеров?

785904
145432 (listing here to make a complete list)
128436

29312
23620
5692

25
740252
735132

582MB (the bar for PF Usage)

and the horizontal line for "Page File Usage History"

Теперь, поскольку для виртуальной памяти установлено значение «Не использовать какой-либо файл страницы», не должно ли использование PF быть 0? И поэтому горизонтальная линия для "Истории использования файла подкачки" должна всегда оставаться на 0? Благодарю.

Обновление: и скажем, если файл подкачки выполнен с фиксированным размером файла 256 МБ, а информация также показана в виде рисунка выше, то как эти 10 чисел следует интерпретировать?

И в этом случае, если "Доступно" медленно уменьшалось и теперь все еще составляет 120 МБ, то это должно означать, что файл подкачки вообще не использовался?

3 ответа3

7

Как мне интерпретировать вкладку «Производительность» диспетчера задач?

Во-первых, давайте поговорим о цифрах. Они делятся на 4 группы: «Итоги», «Фиксация заряда», «Физическая память» и «Память ядра».

Итого: сообщает, сколько дескрипторов, процессов и потоков выделено в ОС. Числа являются простыми счетчиками, но слова довольно сложно объяснить, потому что они являются основными концепциями программирования, а базовые концепции всегда хитры (попробуйте объяснить глагол «быть» некоторое время).

Ручки: ядро снабжает программы «объектами», такими как файлы, разделы с общей памятью, ключи реестра и так далее. Программа равномерно манипулирует объектом с помощью дескриптора, который является временным соединением с объектом. Дескриптор не является объектом; например, если файл открывается для 17 различных применений одновременно, к нему будет подключено 17 различных дескрипторов.

Процессы: процесс является экземпляром выполняемой программы. Если вы запускаете Explorer 3 раза, то будет запущено 3 процесса. Увидеть разницу? Программа - это то, что сохраняется: вчерашняя программа - это та, которая у вас есть сегодня (если вы что-то не сделали!). Процессы приходят и уходят.

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

Ни одно из этих чисел не имеет «правильных» значений. Главным образом, если они начинают расти без ограничений, то пришло время подозревать, что что-то идет не так. Например, программа может вызвать «утечку дескриптора», если не закроет файлы (хотя, если вы убьете процесс, все его дескрипторы будут закрыты ОС; это не DOS).

Зафиксировать плату: она измеряет количество «выделенной виртуальной памяти» (см. Раздел «Часто задаваемые вопросы о виртуальных машинах» в системе). Это вся память, запрашиваемая процессами, которая не поддерживается каким-либо именованным файлом (например, инструкции программы хранятся в файле program.exe и, таким образом, не учитываются в начислении за фиксацию). Один из способов взглянуть на это состоит в том, что система имеет определенный бюджет для виртуальной памяти, и каждый программный запрос оплачивается из этого бюджета.

Общий комиссионный сбор - это текущая стоимость использования; предел - это сумма размеров файла подкачки и физической памяти, которая в принципе доступна для программ (т. е. не считая все постоянно расположенные части).

Пик - это просто самое высокое значение, зарегистрированное с момента загрузки.

Физическая память: это легко. Общее количество памяти, которое обнаружила ОС, и доступный объем - это то, что вы ожидаете. Так называемый размер системного кэша фактически равен размеру «рабочего набора» системы (т. Е. Объему физической памяти, используемой системным процессом, pid 4, который представляет собой процесс, подключенный к ядру и выполняющий потоки от имени пользователя). ядра и драйверов устройств). Системный файловый кеш временно хранит содержимое файлов, чтобы ускорить производительность системы, и, вероятно, является крупнейшим потребителем памяти в системном процессе, хотя это разумное приближение.

Память ядра: сообщает, сколько памяти используется ядром и драйверами устройств. Я считаю (но я могу ошибаться здесь), цифры здесь - это количество виртуальной памяти. Для нестраничной памяти нет никакой разницы: виртуальная память всегда находится в физической памяти. Для страничной памяти размер является виртуальным; Заполнение физической памяти может быть меньше.

Теперь графики и метры. Несмотря на их заголовки, дисплеи PF Usage и Page File History не измеряют использование файла Page. Они измеряют общий заряд. Общее количество коммитов как бы связано с использованием файла подкачки; это то, сколько файлов подкачки вы бы использовали, если бы все, что могло быть записано в файл страниц, фактически было записано в файл подкачки. В Windows 2000 такие же дисплеи называются Mem Usage, что заставляет людей думать, что они измеряют использование физической памяти. Это тоже было не правильно.

Что вы ожидаете от программы, называющей себя "Диспетчер задач"? В ядре операционной системы нет ничего, что называется "задачей" - в ОС есть "процессы" и "потоки". У DOS были "задачи". Аппаратное обеспечение Intel имеет структуры "задач", но ОС не использует их, потому что это быстрее сделать самому. (Недавно появилась программа пользовательского режима, называемая "планировщик задач", но ядро также ничего не знает об этих задачах, и, кроме того, это совершенно другое использование "задачи").

Показы использования ЦП и истории использования ЦП фактически измеряют использование ЦП! То есть они учитывают все использование процессора, кроме того, которое используется в системном цикле простоя на уровне без прерываний. Таким образом, это довольно хорошая картина того, насколько занята ваша система на самом деле.

В многопроцессорных системах, я думаю, общее количество дано в терминах мощности одного процессора (они всегда одинаковые процессоры). Таким образом, для двухпроцессорной системы доступно «200%». Вы можете, если хотите, показать один график на процессор. Если кто-то захочет отправить мне двухпроцессорную систему, я проверю эти претензии.

Обычная зеленая линия показывает общее использование процессора. При желании вы можете добавить красную строку, показывающую время, проведенное в режиме ядра; это иногда удобно для изоляции проблем, или, возможно, это выглядит лучше. Используйте Show Kernel Times в меню View.

Нижняя строка состояния повторяет использование процессора, фиксацию и итоги процесса.

Источник

3

Хорошие заметки и описание вы получите в блоге Марка Руссиновича.
Раздвигая границы Windows: Дескрипторы и 4 других более старых сообщения, связанных оттуда.

  1. Физическая память
  2. Виртуальная память
  3. Paged и Nonpaged Pool
  4. Процессы и потоки

Марк написал отличные утилиты SysInternals и сейчас работает с Microsoft.

2

Короткий ответ: после работы в течение целого дня (или недели) с реальной (или даже превышающей среднюю) нагрузкой посмотрите на Peak Commit Charge. Это «самая« память », используемая в данный момент». Округлите до следующей половины ГБ, и это то, сколько оперативной памяти вам нужно иметь. Если это более 3 ГБ, рассмотрите возможность обновления до 64-битной ОС.

Тогда, если вы хотите, сделайте 1 Гбайт или около того подкачки для "постепенной деградации" (почему все работает так медленно и так сильно мигает индикатор жесткого диска?). Все рекомендации для 1.5X или 2X RAM - это (в основном) нонсенс.

Скриншот выглядит подозрительно, потому что внутри коробки написано "Всего 25"; в то время как в строке состояния в правом нижнем углу отображается "596564K", что соответствует "582MB" на графике.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .