Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - Мониторинг файла подкачки Windows 7, часть 2

Ответить
Настройки темы
Разное - Мониторинг файла подкачки Windows 7, часть 2

Новый участник


Сообщения: 2
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: grizlyk
Дата: 10-07-2021
Описание: орфография
В продолжение темы: Мониторинг файла подкачки Windows 7
Цитата:
я не пойму где там файл подкачки а где моя оператива
в Мониторе ресурсов вижу лишь подробное описание 2 Гб физической памяти, а вот где и как используются 4 Гб моего файла подкачки не вижу
Все так и есть, в отличие от XP, файл подкачки на Windows 7 прямо не мониторится ни в диспетчере задач, ни в мониторе ресурсов. Единственный ресурс на который обращено внимание в этих утилитах это физическая память.

Поскольку мне пришлось искать как сделать мониторинг файла подкачки на Windows 7, есть смысл это кратко привести в одном месте.

Примерно и быстро определить текущий размер использования файла подкачки Windows 7 можно вручную.

1.1
Одно из решений сделать это через стандартный диспетчер задач Windows 7.
на фото: пример работы диспетчера задач на Windows 7 х86

для этого надо в диспетчере задач:
- посмотреть в строке "выделено (ГБ)" на общий размер выделенной в системе виртуальной памяти (в нашем примере это 3Г, а всего доступно 13Г виртуальной памяти)
- посмотреть на индикаторе "память" на размер занятой физической памяти (в нашем примере это 2.41Г, примерно 2.5Г)

разница между размером выделенной в системе виртуальной памяти и размером занятой физической памяти находится в файле подкачки (в нашем примере надо из 3Г вычесть 2.41Г что дает примерно 0.5Г)

если бы файла подкачки не было, то эти 0.5Г остались бы в физической памяти

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

1.2
Другое решение это установить "process explorer" от sysinternals.com и запускать process explorer при входе пользователя в систему.

"process explorer" можно даже запускать параллельно с диспетчером задач но вообще этот способ для тех у кого "process explorer" уже сам по себе установлен.

process explorer имеет статистику "system commit" (могут быть нужны права администратора)
на фото: пример "system commit"

для определения размера использования файла подкачки надо
- посмотреть на текущее значение "system commit" (в нашем примере это 2.7Г)
- посмотреть на текущее значение "physical memory" (в нашем примере это 2.0Г)

разница между размером "system commit" и "physical memory" находится в файле подкачки (в нашем примере надо из 2.7Г вычесть 2.0Г что дает примерно 0.7Г)

если бы файла подкачки не было, то эти 0.7Г остались бы в физической памяти

Оценка использования файла подкачки через диспетчер задач отличается от оценки commit через Process Explorer примерно на 1Г, т.е. согласно Process Explorer файл подкачки содержит примерно на 1Г больше данных чем рапортует диспетчер задач.

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

Одна их таких утилит windows 7 это "системный монитор"

запустить: "пуск\администрирование\системный монитор" (могут быть нужны права администратора)
в левой колонке выбрать: "производительность\средства наблюдения\системный монитор"
на графике монитора: кликнуть правой кнопкой и выбрать в выпадающем меню: "добавить счетчики"
в появившемся окне (полезно включить галочку "отображать описание"):
- выбрать "файл подкачки\пик"
- выбрать "файл подкачки\текущее значение"

в итоге получится график использования файла подкачки (такой же как график загрузки процессора)

но для обычного наблюдения за файлом подкачки такой способ через "системный монитор" не очень удобен (возможно есть способ настроить "системный монитор" лучше, но я не пытался это сделать).

2.
Цитата:
Я так понимаю файл подкачки не используется как надо
Есть важное замечание про файл подкачки на х86

Разного рода фирмваре не балует нас качеством программ, поэтому такого типа программы, хотя и предназначены для работы под win32, часто изготавливаются без учета того что на win32 каждое приложение имеет в своем распоряжении только 2Г собственной виртуальной памяти (это ограничение win32).

Такие приложения падают либо вообще без указаний на причины ошибок, или с указанием на "нехватку памяти" (типа "хотел еще памяти, но не дали").

Но при проверке таких нехваток памяти чаще всего оказывается, что во время сбоя такого приложения диспетчер задач показывает что в системе еще свободно более 1Г физической памяти (на нашем примере с диспетчером задач видно что "ядро Windows 7" занимает всего несколько сотен мегабайт из 3.5Г доступной для ОС физической памяти).

2.1
Ограничение на предел 2Г собственной виртуальной памяти каждого приложения это статический параметр и он не зависит от количества физической памяти установленной в системе или от размера файла подкачки.

Предел 2Г это просто размерность адреса в памяти, т.е. максимальное число которое может иметь адрес в памяти (это аналогично 16/32/64 бит размерности ALU процессора).

Значение предела равное 2Г связано как с ограничениями процессора х86, так и с форматом образа программы в памяти принятым в win32.

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

как приложение может проверять настройку 2Г предела виртуальной памяти написано у microsoft

2.2
Хотя предел собственной виртуальной памяти приложения для win32 при запуске ОС может быть настроен и задан в диапазоне от 2Г до 3Г:
- для windows XP, это ключ /3G в файле boot.ini,
- для windows 7, это BCDEDIT параметр IncreaseUserVA
на фото: настройка /3G


работа с BCDEDIT для windows 7 обычно вызывает вопросы из-за загадочного набора команд и параметров хранилища, для настройки надо:
запустить: cmd от имени администратора
выполнить: BCDEDIT /Set {<id>} IncreaseUserVa <val>
где
<id> выбрать пресет конфигурации для загрузки ОС (обычно это current)
<val> выбрать число от 2048 до 3072

возможно что даже basic версии win7-32 допускают изменение IncreaseUserVa
хотя: microsoft
ссылается на Server: "Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2.
The technology called 4-gigabyte tuning (4GT) is a scale up component in the Windows Server 2003 family."


2.3
эта настройка /3G все равно потребует от самого сбойного приложения готовности работать с каким то любым конкретным пределом виртуальной памяти, обычно если сбойному приложению (которое бездумно выделяет память) не хватает 2Г, то ему не хватит и 3Г (но время работы такого приложения до краха при значении 3Г может быть будет больше чем при значении 2Г).

Однако установка предела VA более 2Г может помешать работе некоторых системных программ и драйверов для win32, например тех которые не готовы обслуживать адреса с включенным старшим битом. Исправить работу таких программ нельзя кроме как вернуть предел виртуальной памяти на границу 2Г.

Для сравнения, кроме неспособности системных программ и драйверов работать с большими VA существует и реальная аппаратура (типа видеокарт, звуковых карт, портов ввода вывода и т.п.) которая не может работать с большими адресами физической памяти (например не может адресовать физическую память выше 15М, или выше 2Г). Для обслуживания таких устройств их драйвера грузятся первыми и занимают под свои буфера правильные адреса в физической памяти.

Отправлено: 05:56, 10-07-2021

 


Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - Мониторинг файла подкачки Windows 7, часть 2

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Шифрование файла подкачки chparnov Microsoft Windows 10 5 23-05-2020 09:26
Разное - Минидамп без файла подкачки Sisin Microsoft Windows 7 11 10-02-2015 13:31
Разное - [решено] Мониторинг файла подкачки Windows 7 armageddon528 Microsoft Windows 7 8 10-08-2012 12:16
Фрагментация файла подкачки Casderkari Тест-форум 2 26-02-2010 00:00
Перемещение файла подкачки myan Хочу все знать 3 10-06-2005 12:02




 
Переход