“Использование мадам” выше, чем “Размер VM” в WinXP Task Manager

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

( Как работают теги HTML внутри тега скрипта? )

у вас нет HTML DOM, который вы вставили в свой скрипт, но вы пытаетесь запросить его. [ 113]

12
задан Frederick The Fool 13 February 2009 в 13:50
поделиться

6 ответов

Виртуальная память

Предположите, что Ваша программа (например, Oracle) выделила 100 МБ памяти после запуска - Ваш размер VM повышается на 100 МБ, хотя никакой дополнительный медосмотр / дисковые страницы не затронут. т.е. VM является только бухгалтерией памяти.

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

Частная память

Если программа копирует 10 МБ данных в тех 100 МБ, смыслы ОС, что никакие страницы не были выделены процессу, соответствующему тем адресам, и присваивают ценность на 10 МБ физических страниц в частную память Вашего процесса. (Этот процесс называют отсутствием страницы),

Рабочий набор

Определение: Рабочий набор является набором страниц памяти, которые были недавно затронуты программой.

В этой точке эти 10 страниц добавляются к рабочему набору процесса. Если процесс затем идет и копирует эти данные в другой кэш на 10 МБ, ранее выделенный, все остальное остается тем же, но Рабочий набор повышается снова на 10 Мбит если те старые страницы где не в рабочем наборе. Но если те страницы, где уже в рабочем наборе, затем все хорошо и рабочий набор программ, остаются тем же.

Поведение Рабочего набора

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

Когда Рабочий набор> Виртуальная память

Теперь предположите, что та же программа освобождает все 100 Мбит памяти. Размер VM программ сразу уменьшается на 100 МБ (помните VM = бухгалтерия всех запросов выделения памяти),

Рабочий набор не должен быть затронут этим, так как это не изменяет то, что те 10 Мбит ценность страниц, где недавно затронуто. Поэтому те страницы все еще остаются в рабочем наборе процесса, хотя ОС может исправить их каждый раз, когда это требует.

Это эффективно сделало бы VM <рабочим набором. Однако это исправит при запуске другого процесса, который использует больше памяти, и страницы рабочего набора исправлены ОС.

17
ответ дан 2 December 2019 в 06:28
поделиться

Диспетчер задач XP является просто неправильным.Править: Если Вы не верите мне (и кто-то не делает, потому что они провалили это), считайте использование памяти Firefox 3. Я заключаю в кавычки:

При рассмотрении Использования памяти под Windows XP числа не будут настолько большими. Причина: Microsoft изменила значение “частных байтов” между XP и Vista (к лучшему).

Кажется, что MS запутался. Вы только изменяете что-то как этот, если это повреждается.

Попробуйте Проводник Процесса вместо этого. Что Диспетчер задач маркирует "VM Size", Process Explorer (более правильно) маркирует "Private Bytes". И в Проводнике Процесса, Рабочий набор (и Частные Байты) всегда меньше чем или равен Виртуальному Размеру, как Вы ожидали бы.

3
ответ дан 2 December 2019 в 06:28
поделиться

Отображение файла

Очень распространенный способ, как Использование Мадам может быть выше, чем Размер VM, при помощи объектов отображения файла (следовательно, это может быть связано с общей памятью, поскольку отображение файла используется для совместного использования памяти). С файлом, отображающим Вас, может иметь память, которая фиксируется (или в файле подкачки или в физической памяти, Вы не знаете), но не имеет никакого виртуального адреса, присвоенного ему. Зафиксированная память появляется в Использовании Мадам, в то время как используемое использование виртуальных адресов прослежено Размером VM.

См. также:

Что делает “Размер VM”, означают в Windows Task Manager? на Stackoverflow

Повреждение Барьера на 32 бита в моем блоге разработчика

Обсуждение Usenet, Все еще перепутанное, почему рабочий набор, больше, чем виртуальная память

3
ответ дан 2 December 2019 в 06:28
поделиться

Использование памяти является объемом электронной памяти, в настоящее время выделяемой процессу.

Размер VM является объемом виртуальной памяти, в настоящее время выделяемой процессу.

так...

  • Страница, которая существует только в электронном виде, увеличит только Использование памяти.
  • Страница, которая существует только на диске, увеличит только Размер VM.
  • Страница, которая существует и в памяти и на диске, увеличит обоих.

Некоторые примеры для иллюстрирования:

В настоящее время на моей машине, iexplore имеет 16,000K Использование памяти и 194,916 Размеров VM. Это означает, что большая часть памяти, используемой Internet Explorer, неактивна и была выгружена к диску, и только часть сохраняется в оперативной памяти.

Контраст с mcshield.exe с имеет 98,984K использование памяти и 98,168K Размер VM. Мое заключение здесь состоит в том, что McAfee AntiVirus активен, с в партии используемой памяти. Так как это работало в течение достаточно долгого времени (весь день, начиная с начальной загрузки), я ожидаю, что большая часть 98,168K Размер VM является копиями электронной памяти - хотя нет ничего в Диспетчере задач для подтверждения этого.

1
ответ дан 2 December 2019 в 06:28
поделиться

Вы могли бы найти некоторый explaination в Мошенничестве Памяти

Рабочий набор (A) – Это - ряд страниц виртуальной памяти (которые фиксируются) для процесса, и расположены в физической RAM. Эти страницы полностью принадлежат процессу. Рабочий набор похож "в настоящее время/недавно работающий на этих страницах" список.

Виртуальная память – Это - память, к которой может обратиться операционная система. Независимо от суммы физической RAM или пространства на жестком диске, это число ограничено Вашей архитектурой процессора.

Зафиксированная Память – Когда приложение касается страницы виртуальной памяти (фиксации чтений/записи/программно) страница, становится зафиксированной страницей. Это теперь поддерживается страницей физической памяти. Это обычно будет физической страницей RAM, но могло в конечном счете быть страницей в файле подкачки на жестком диске, или это могла быть страница в файле с отображенной памятью на жестком диске. Диспетчер памяти обрабатывает переводы от страницы виртуальной памяти до физической страницы. Виртуальная страница могла быть в расположенном в физической RAM, в то время как страница рядом с нею могла быть на жестком диске в файле подкачки.

НО: PF (Файл подкачки) Использование - Это - общее количество зафиксированных страниц в системе. Это не говорит Вам, сколько на самом деле записано в файл подкачки. Это только говорит Вам, сколько из файла подкачки использовалось бы, если бы все зафиксированные страницы должны были быть выписаны к файлу подкачки одновременно.

Следовательно B>...

Если мы соглашаемся, что B представляет "использование мадам" или также использование PF, проблема возникает из факта, это на самом деле представляет потенциальные использования страницы: в Xp это потенциальное файловое пространство может использоваться в качестве места для присвоения тех страниц виртуальной памяти, которые программы попросили, но никогда не приносили в использование...

0
ответ дан 2 December 2019 в 06:28
поделиться

Фрагментация памяти, вероятно, является причиной: Если процесс выделяет 1 октет, он считается за 1 октет в VMSize, но этот 1 октет требует физической страницы (4K в операционной системе windows). Если после выделения/освобождения памяти у процесса есть второй октет, отстоящий от первого более чем на 4К, этот второй октет всегда будет храниться на отдельной физической странице, чем первый. Таким образом, размер VM Size составляет 2 октета, а Memory Usage - 2 страницы== 8K

Тот факт, что MemUsage больше, чем VMSize, показывает, что процесс выполняет много операций выделения и деаллокации и фрагментирует память. Это может быть связано с тем, что процесс запущен очень давно. Или же есть место для оптимизации ;-)

0
ответ дан 2 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: