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

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Файл подкачки (все вопросы)

Ответить
Настройки темы
Разное - [решено] Файл подкачки (все вопросы)

(*.*)


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


Конфигурация

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


Прежде чем задать вопрос, пожалуйста, вникните в содержимое этого сообщения:
  1. Если вы оставите размер файла подкачки по умолчанию на разделе по умолчанию, все будет прекрасно работать, и не будет болеть голова по поводу пунктов 2 - 5.

  2. Как система управляет файлом подкачки?
    По умолчанию Windows сама управляет размером файла подкачки. Когда это опция установлена в Windows XP и Server 2003, ОС создает один файл подкачки, минимальный размер которого равен 1,5 объема ОП системы; если объем оперативной памяти больше 1 Гб, то такой же размер устанавливается для файла подкачки; максимальный размер файла подкачки равен трем объема ОП.
    Узнать больше
    Цитата Марк Руссинович:
    В Windows Vista и Server 2008 минимальное значения должно быть достаточно для того, чтобы в случае сбоя системы сделать дамп памяти, занятой под процессы ядра, и равно ОП+300 Мб или 1 Гб, в зависимости от того, какое значение окажется больше. Максимально значение - три объема оперативной памяти или 4 Гб, в зависимости от того, что окажется больше. Это объясняет тот факт, что на моей 64-битной системе с 8 Гб ОП пиковое значения выделенной памяти равно 32 Гб.

    Источник

  3. Насколько большим следует сделать файл подкачки?
    Рекомендация устанавливать размер файла подкачки равным 1.5 объемам ОЗУ действительно есть в базе знаний Майкрософт, относящейся к XP. Но рекомендация эта не со времен ХР, а со времен объемов ОЗУ в 256-512 мб, поэтому она уже не имеет практического смысла.
    Узнать больше
    Цитата Марк Руссинович:
    Возможно, наиболее частым вопросом, связанным с виртуальной памятью, является вопрос "насколько большим следует сделать файл подкачки?". Ни в сети, ни в информационных изданиях, освещающих вопросы Windows, нет конкретного ответа на этот вопрос, и даже Microsoft опубликовала на этот счет довольно запутанные рекомендации. Почти все советы основаны на умножении объема оперативной памяти на некоторое значение, например, на 1.2, 1.5 или 2. Теперь, когда вы понимаете, какую-роль играет файл подкачки в определении системного лимита на выделенную память и как процессы влияют на объем выделенной памяти, мы легко можете увидеть, насколько бесполезны такие формулы в действительности.

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

    Так как же узнать, сколько выделенной памяти требуется вашей рабочей среде? На снимках экрана вы, возможно, заметили, что это число отслеживается Windows и Process Explorer показывает его: Peak Commit Charge.



    Чтобы установить оптимальный размер для вашего файла подкачки, вы должны запустить все приложения, с которыми вы работаете одновременно, загрузить типичный для вас объем данных и посмотреть пиковое значения выделенной памяти (или же посмотреть это значение по прошествии некоторого времени, когда, по вашему мнению, будет достигнута максимальная загруженность памяти). В качестве минимального размера файла подкачки установите это значение, отняв от него размер установленной на вашей системе оперативной памяти (если получится отрицательное значения, выберите размер, позволяющий сохранить возможное количество отказов на минимальном уровне). Если вы хотите сохранить некоторый запас для потенциально больших расходов выделенной памяти, в качестве максимума установить это значение, умноженное на 2.

    Источник

  4. Можно ли работать без файла подкачки и хорошо ли это?
    Ответ эксперта
    Цитата Марк Руссинович:
    У вас может сложиться впечатление, что отсутствие файла подкачки может благотворно сказаться на производительности. Oднако в общем случае то, что у Windows в распоряжении будет файл подкачки, означает, что ОС сможет размещать некоторые записи (которые используются нечасто и не сохранены на диск) в файл подкачки, освобождая тем самым память для более полезных задач (процессы и кэши файлов). Так что даже если в некоторых случаях отсутствие файла подкачки может увеличить производительность, в общем случае его наличие означает, что в распоряжении системы будет больше доступной памяти (Windows в случае сбоя не сможет сделать дамп памяти, занятой под процессы ядра, если в ее распоряжении не будет достаточно большого файла подкачки).

    Источник

  5. Файл подкачки имеет смысл перемещать только на другой физический диск. См. Как переместить файл подкачки в Windows Vista и Windows 7

  6. Если вы непоколебимы в решении отключить ФП, оставьте небольшой ФП на системном разделе, чтобы сохранилась возможность записи минидампов памяти в случае BSOD.
    Ниже описано, как это сделать


    Выберите системный раздел. Установите переключатель Без файла подкачки и нажмите кнопку Задать. Система предупредит вас о невозможности записи отладочных данных (дампов памяти) при отсутствии файла подкачки примерно таким сообщением, как показано на рисунке ниже.



    Нажмите Нет.

    Затем установите переключатель Указать размер. Введите в поле Исходный размер значение равное или превышающее значение, указанное в качестве минимального для записи дампов памяти. Введите в поле Максимальный размер такое же значение, как в поле Исходный размер, и нажмите кнопку Задать. Расположение файла подкачки на системном разделе сконфигурировано.


  7. Если у вас система загружается с VHD, файл подкачки размещается вне его, а не внутри, как происходит в случае загрузки виртуальной машины. См. http://technet.microsoft.com/en-us/l...82(WS.10).aspx Это также означает, что вы не можете перенести файл подкачки на виртуальный диск.


Дополнительные сведения
О путанице понятий "система" и "загрузка" в оснастке управления дисками.

Отправлено: 18:26, 01-11-2009

 

Ветеран


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

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


Цитата Efir:
Могу на примере объяснить один из возможных вариантов происходящего »
если можно...Efir,

Цитата Efir:
Могу на примере объяснить один из возможных вариантов происходящего, если кому-то интересно »
интересно. И нужно. А то в теме одно и тоже - удалить фп... уменьшить... переместить фп на компьютер врагу... сделать фп размером 1мб ... и т.д

Отправлено: 08:41, 27-11-2013 | #311



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Цитата:
severagent007,
... Фотошоперы, например не мучают своп...
они только создают свой временный файл с которым работают.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:10, 27-11-2013 | #312


Старожил


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

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


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

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

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

Свободная память – это память, которая ни кому не передана и не содержит какого-либо полезного содержимого, либо обнулена.

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

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

Немного теор. информации. С точки зрения выделения памяти, она может быть невыделенная, зарезервированная(reserve) и переданная(commited). Слово переданная идет из выражения передача физического хранилища. Системных хранилищ два, - озу и страничный файл(pagefile.sys). Объем этих 2-х хранилищ составляет счетчик Commit Limit. Счетчик Current Commit показывает текущее значение использования этих 2-х хранилищ данными, которые больше нигде разместить нельзя, это важно. Счетчики представляют системный комит(System Commit), то есть передача системных хранилищ. Существует и третий тип хранилища, проецируемые в память файлы(MMF). ММF файлом может выступать любой файл на диске, используемый ПО через механизм MMF. Подробнее о нем можно почитать википедию. Суть его заключается в том, что доступ к файлу осуществляется как к памяти. На некоторый непрерывный участок виртуального адресного пространства программы проецируется любой файл или часть и когда программа начинает читать\писать эту память, файл или часть не загружается целиком, а прозрачно для программы загружаются в озу только те страницы файла или части, к которым был доступ. Теперь самое сложноусваиваимое)). MMF файлы не входят в счетчик System Commit Limit, т.к. их может быть условно бесконечное множество. Те данные, которые сейчас загружены в озу как MMF, не входят в Current System Commit, так как сам файл является хранилищем. В случае, если память под данные, которые были загружены в озу из файла, как MMF, придется освободить операционной системе для кого то, то эти данные будут скинуты снова в этот файл, либо просто память будет отобрана и обнулена, если данные не изменялись(только чтение) и вновь будут прочитаны из файла при повторном доступе.
Поскольку содержимое MMF может быть и полностью загружено в озу, а commit такой памяти на системный commit не влияет, то можно исчерпать всю озу, при этом Current Commit может быть, например, в 2 раза меньше лимита и часто вводит людей в ступор. Но в этом ничего такого нет, т.к. всю ту исчерпанную озу можно скинуть опять в MMF хранилища, тем самым освободив для других нужд.

Пока писал этот пост, выяснилось, что в принципе нельзя точно сказать утечка у пользователя Villy2011 или нет, а также выснилось, что изложить этот сложнейший материал просто не получается)), да еще и простым языком.
Во вложении к посту есть программа testmem, с исходными кодами на си. Ее написал когда-то братуха, когда изучали memory management в венде. Она осуществляет несколько типов выделений памяти, объем которых можно указать в МБайтах. Исполняемых файлов 2, - 64-х разрядный для того, чтобы выделения памяти не были ограничены виртуальным адресным пространством и 32-х разрядный, чтобы показать как из-за нехватки виртуальных адресов может происходить утечка памяти, о которой была речь выше и которая может привести к ситуации как у Villy2011. Помимо testmem нужен будет еще Process Explorer и VmMap, а также установленный фиксированный размер страничного файла, чтобы система не увеличивала страничный файл, тем самым отодвигая Commit Limit.

Делаем 4 теста.

1. Смотрим как растет Current System Commit при этом доступная(available) память остается прежней.
2. Смотрим как растет Current System Commit при этом доступная(available) память уменьшается.
3. Смотрим как уменьшается доступная(available) память при этом Current System Commit остается прежним.
4. Смотрим как данные по памяти testmem в программах, включяя VmMap, никак не меняются, хотя Current System Commit растет. Утечка.

Тест 1. Запускаем 64-х разрядный testmem, выбираем commit shared memory(pagefile), в поле объем вводим 1000Мб, жмем ок несколько раз и наблюдаем рост Current System Commit до того момента пока система не напишет нехватка памяти. Последний блок в зависимости от текущего выделения на вашей системе может быть не кратен 1000Мб, поэтому введите остаток.

Тест2. Запускаем 64-х разрядный testmem, выбираем commit and touch memory, в поле объем вводим 1000Мб, жмем ок и наблюдаем рост Current System Commit и уменьшение доступной памяти(рост Physical Memory)

Тест3. Запускаем любой testmem, выбираем commit shared memory(mapped file), в поле объем вводим 1000Мб, жмем один раз ок и наблюдаем уменьшение доступной памяти(рост Physical Memory) при неизменном Current System Commit.

Тест4. Запускаем 32-х разрядный testmem, выбираем commit shared memory(pagefile), потом запускаем VmMap и видим данные по памяти testmem. Нажимаем один раз ок, наблюдаем рост Current System Commit на этот объем, после чего обновляем VmMap и видим как появилось 1000МБ в поле Shereable. Снова нажимаем ок, снова наблюдаем рост Current System Commit на этот объем, после чего обновляем VmMap и видим что другого блока из 1000Мб не появилось. Можно нажать еще раз пока не дойдете до Commit Limit, но памяти так в программе и не появится. Это и есть утечка. Ловить такую очень сложно, точнее долго.

Что делает каждый из этих кусков кода по выделению памяти подробней расскажу в другой как-нить раз)

Последний раз редактировалось Efir, 04-01-2014 в 22:22.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:41, 28-11-2013 | #313


Старожил


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

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


Цитата Efir:
т.к. всю ту исчерпанную озу можно скинуть опять в MMF хранилища, тем самым освободив для других нужд. »
Вот только если файлы в памяти изменялись, их надо будет скинуть на диск. Так как винда при недостатке ещё будет пытаться свопится, то конкурентный доступ к диску может вызвать неилюзорное подвисание винды.
Отсутствие свопа может помочь тем, что не будет конкурентного доступа при освобождении памяти на диск, когда память кончится. Хотя при этом память кончится быстрее.
Я правильно рассуждаю?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:18, 28-11-2013 | #314


Старожил


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

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


Цитата Psih-ya:
Вот только если файлы в памяти изменялись, их надо будет скинуть на диск »
да, содержимое нужно переписать в файл, вопрос лишь в том, сколько этих модифицированных данных. Немодифицированных данных гораздо больше, соответственно это первый кандидат на вылет. Когда я писал процитированный вами текст, я говорил о том, что Current Commit может быть далек от Commit Limit при том, что озу занята полностью, часть из которых занимают проецируемые в память файлы подразумевая типичную ситуацию, когда данные на чтение превалируют над модифицированными. Если все же предположить что все те данные загруженные в память как MMF модифицированы, нужно разбирать конкретную ситуацию, выделение памяти это еще не значит ее реальное использование, операционная система подсовывает рам лишь тогда, когда к ней реально был доступ, тобишь передача физического хранилища, это по факту лишь его резервация, но не обладание. В программе testmem, в прикрепленном выше посту, есть два выделения, - commit и commit and touch, которые как раз и демонстрируют то, о чем говорил в предыдущем предложении. Если все же добавить к ситуации с модифицированным данными и запрос на загрузку данных с подкачки, то да, система деградирует.

Цитата Psih-ya:
Отсутствие свопа может помочь тем, что не будет конкурентного доступа при освобождении памяти на диск, когда память кончится. Хотя при этом память кончится быстрее.
Я правильно рассуждаю? »
Отсутствие подкачки в контексте вашего вопроса ничем не поможет, т.к. деградация системы не приведет к потере данных, а отсутствие страничного файла может вызвать крах. Во многом эффективное использование памяти зависит от приложений и создать ситуацию нехватки ресурсов несложно, вопрос лишь в той самой эффективности или недостаче аппаратных ресурсов.

Последний раз редактировалось Efir, 29-11-2013 в 12:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:14, 28-11-2013 | #315


Старожил


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

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


Цитата Efir:
т.к. деградация системы не приведет к потере данных, »
Ну да, я не писал, что система рухнет. Просто будет висеть, пока не расчистит память.

Цитата Efir:
а отсутствие страничного файла вызовет крах »
Это если память не удастся расчистить.
В моём варианте её будет достаточно, если сбросить файлы MMF на диск. При этом если будет подкачка, то она скорее будет мешать сбрасывать MMF на диск, и система виснуть будет дольше.

Отправлено: 19:43, 28-11-2013 | #316


Забанен


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

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


Цитата Efir:
это память, которая ни кем не выделена »
Слово "выделена" (commit) в данном контексте использовать некорректно, этот термин используется для другого процесса и другой характеристики (см. значения "выделено" в диспетчере задач).

Цитата Psih-ya:
Отсутствие свопа может помочь тем, что не будет конкурентного доступа при освобождении памяти на диск, когда память кончится. »
Нет, скорее всего, подкачка будет протекать интенсивнее, увеличивая нагрузку на диск.

Отправлено: 23:13, 28-11-2013 | #317


Старожил


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

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


Цитата Игорь Лейко:
Слово "выделена" (commit) в данном контексте использовать некорректно, этот термин используется для другого процесса и другой характеристики (см. значения "выделено" в диспетчере задач). »
для какого процесса и характеристики? не совсем понял. Если память находится во Free списках, она ни кем не выделена, какой нужно для этого термин использовать?

Цитата Psih-ya:
При этом если будет подкачка, то она скорее будет мешать сбрасывать MMF на диск, и система виснуть будет дольше »
вы говорите о крайней ситуации нехватки ресурсов, да и условия, при которых это случится, крайне маловероятны, поэтому ваше беспокойство о том, что наличие страничного файла помешает сбрасывать другое содержимое, выглядит надуманным. Хотя несомненно вам решать для себя важность тех или иных вопросов))

Последний раз редактировалось Efir, 29-11-2013 в 13:24.


Отправлено: 12:37, 29-11-2013 | #318


Старожил


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

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


Цитата Игорь Лейко:
Нет, скорее всего, подкачка будет протекать интенсивнее, увеличивая нагрузку на диск. »
При отключённой подкачке она будет более интенсивна? Вы точно поняли, что я написал?

Цитата Efir:
вы говорите о крайней ситуации нехватки ресурсов, да и условия, при которых это случится, крайне маловероятны, »
Ну да.

Отправлено: 17:01, 29-11-2013 | #319


Старожил


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

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


Цитата Psih-ya:
Вот только если файлы в памяти изменялись, их надо будет скинуть на диск. Так как винда при недостатке ещё будет пытаться свопится, то конкурентный доступ к диску может вызвать неилюзорное подвисание винды »
кстати в качестве эксперимента, откройте на своем компике RamMap и посмотрите на вкладку Use Counts. Сколько у вас кешированных модифицированных MMF данных на текущий момент и сколько немодифицированных.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:49, 02-12-2013 | #320



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 7 » Разное - [решено] Файл подкачки (все вопросы)

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Общее - [статья] Файл ответов (AutoUnattend.xml) .:[все вопросы, параметры, уточнения, etc]:. Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 1736 06-05-2025 10:49
Файл ответов Winnt.sif .:[все вопросы, уточнения, не срабатывает установка, etc]:. Petya V4sechkin Автоматическая установка Windows 2000/XP/2003 2071 03-07-2019 14:30
Разное - Файл Подкачки (pagefile.sys) - .:[все вопросы]:. ShaddyR Microsoft Windows 2000/XP 637 16-06-2018 11:47
Установка - файл подкачки sasa74 Microsoft Windows Vista 2 20-11-2009 00:04
файл подкачки shark21 Хочу все знать 1 13-02-2003 12:04




 
Переход