Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» рекомендумый размер SWAP файла подкачки виртульаной памяти

Автор: oshizelly
Дата сообщения: 25.03.2012 19:20
Microsoft рекомендует учитывать при ручном выставлении размера файла подкачки:

Цитата:
Чтобы обеспечить максимальное быстродействие, не задавайте значение исходного размера файла подкачки меньше рекомендуемого размера, приведенного в разделе Общий объем файла подкачки на всех дисках. Значение рекомендуемого размера в 1,5 раза превышает объем оперативной памяти компьютера.


У меня на машине физической памяти 4 GB, из них система Windowx XP SP-2 x86 видит 3 Gb. Следовательно, если следовать рекомендации MS, то размер SWAP-файла подкачки должен быть 3,0 x 1,5 = 4,5 GB. Именно этот размер и показан в качестве рекомендованного в диалоге My Computer -> System Properties -> Advanced - > Performance Options -> Advanced -> Virtual Memory.

Однако при выборе опции System managed (то есть, когда размер файла подкачки динамически определяется системой [more=цитата на английском] It does exactly what it says on the tin: the OS manages the size of the pagefile, which can shrink or grow dynamically, and with no lower or upper bounds. The pro is that you don't have to worry about sizing your pagefile, the con is that your pagefile can become fragmented.
Where it is useful is in exactly the situation it's designed to avoid: sizing your pagefile. You can set it to System Managed and check in every coupla minutes (via a script), recording the smallest and largest sizes it uses over a typical usage period of a month or so. You should then have a very good idea how large to manually set your pagefile to be. [/url] [/more] размер свопа, как правило, оказывается только 3070 MB, то есть, 100% от доступной физической памяти, а не 150%. Хотя на диске вполне достаточно места для создания нужного файла.

Почему MS Windows не следует рекомендациям MS?

[URL=http://www.imageup.ru/img237/910620/swap-file-size-recommended-vs-system-managed.gif.html]
Автор: nikhelfer
Дата сообщения: 25.03.2012 19:36
oshizelly

Цитата:
Почему система не следует рекомендациям MS?

Когда писали рекомендации, память была маленькая и дорогая.
Автор: oshizelly
Дата сообщения: 25.03.2012 19:48
nikhelfer 18:36 25-03-2012
Цитата:
Когда писали рекомендации, память была маленькая и дорогая.


Нелогично! Это было бы подходящее объяснение, если бы система выставляла размер больше, чем рекомендует MS. А у меня наоборот: она выставляет меньше, чем RAM x 1,5.
Автор: tamalex
Дата сообщения: 25.03.2012 21:47

Цитата:
Почему MS Windows не следует рекомендациям MS?


Судя по скрину, следует рекомендациям:
Рекомендуемый размер - 4605 (это как раз в 1,5 раза больше 3 гб)
Используемый в настоящее время - 3070 (он будет увеличиваться в зависимости от загрузки программами - так как установлено, что он изменяется системой, а не пользователем)
Автор: oshizelly
Дата сообщения: 25.03.2012 22:22
tamalex 20:47 25-03-2012
Цитата:
Рекомендуемый размер - 4605 (это как раз в 1,5 раза больше 3 гб)
Используемый в настоящее время - 3070 (он будет увеличиваться в зависимости от загрузки программами

То есть, типа, системе хватает 3 + 3 = 6 GB, несмотря на тучу запущенных в данный момент приложений и открытых окон?
А может, она сама не понимает, в чем её счастье? Тогда надо вручную задать размер своп-файла именно как рекомендуется, то есть, 4 605 MB? Это должно увеличить быстродействие системы или нет?
(Проблем с фрагментацией возникнуть не должно, поскольку под своп выделен отдельный логический раздел.)
Автор: BVV63
Дата сообщения: 26.03.2012 05:54
oshizelly
По-моему, вполне должно быть понятно, что чем больше имеется оперативной памяти, тем менее нужно подкачки.

Цитата:
То есть, типа, системе хватает 3 + 3 = 6 GB, несмотря на тучу запущенных в данный момент приложений и открытых окон?

Ну, значит хватает. Не то бы приложения повылетали.
Автор: nikhelfer
Дата сообщения: 26.03.2012 09:57
oshizelly

Цитата:
Нелогично! Это было бы подходящее объяснение, если бы система выставляла размер больше, чем рекомендует MS.

Рекомендуемое не значит обязательное. Если Вашей системе не требуется файл подкачки размером более чем сейчас (3070), то она и не будет его увеличивать. Потребуется больше - система выставит больше. А рекомендации, - они для Вас, на случай, если Вы, не доверяя системе, захотите выставить фиксированный размер.
Автор: oshizelly
Дата сообщения: 26.03.2012 10:14
BVV63 04:54 26-03-2012
Цитата:

Цитата: То есть, типа, системе хватает 3 + 3 = 6 GB, несмотря на тучу запущенных в данный момент приложений и открытых окон?

Ну, значит хватает. Не то бы приложения повылетали.
Автор: nikhelfer
Дата сообщения: 26.03.2012 10:34
oshizelly

Цитата:
Это должно увеличить быстродействие системы или нет?

Должно, но не обязано. К тому же Вы это вряд ли сможете заметить.
Автор: BVV63
Дата сообщения: 26.03.2012 10:45
oshizelly

Цитата:
Или просто снизилось быстродействие системы??

За счёт чего?

Цитата:
Вопрос вообще-то заключался вот в чём:

Цитата:
А может, она сама не понимает, в чем её счастье? Тогда надо вручную задать размер своп-файла именно как рекомендуется, то есть, 4 605 MB? Это должно увеличить быстродействие системы или нет?
(Проблем с фрагментацией возникнуть не должно, поскольку под своп выделен отдельный логический раздел.)

Да можно установить и вручную. Если указать заведомо большой файл подкачки, которого наверняка хватит, и выставить одинаковый размер для Min и Max, то не будет происходить фрагментация файла подкачки. Теоретически это может несколько повысить быстродействие. Не уверен, правда, что на практике это будет сколько-нибудь заметно.
Автор: doktorpilulkin
Дата сообщения: 26.03.2012 10:53
у меня винда всегда выставляет ровно столько сколько памяти. было 2.5 гига и файл подкачки был 2.5, вытащил планку на 512 для двухканальности и он автоматом стал 2 гига. вот когда памяти было меньше 2 гигов, тогда если не изменяет память файл подкачки был 1.5 объема памяти, не могу точно сказать что было когда памяти был 1 гиг. да можно его в ручную увеличить, смысл в этом есть. видимо 4 гигабайта ее надо ставить. можно попробовать больше. но реально его все равно будет не хватать когда вы будете копировать файлы сравнимые с этим размером. для этих случаев можно использовать программы "очищающие файл подкачки" и после копирования его "очищать" чтоб он снова забился нужным. а можно копировать большие файлы программами отключающими системное кеширование
Автор: BVV63
Дата сообщения: 26.03.2012 10:57
doktorpilulkin

Цитата:
реально его все равно будет не хватать когда вы будете копировать файлы сравнимые с этим размером

С чего Вы взяли, что при копировании файлов используется файл подкачки? Используется кэш, находящийся в оперативной памяти.
Автор: doktorpilulkin
Дата сообщения: 26.03.2012 11:02
скопировать файл не такой сложный эксперимент. возьми файл мб сто, скопируй его таким батником, если винт шипка шустрый лучше больше взять чутка

@echo of
echo %time%
copy C:\MY.FILE D:\MY.FILE
echo %time%

скопируй два раза подряд и сравни результаты



Добавлено:
файловый кеш это файловый кеш, а в файл подкачки попадает отражение файлов в памяти, котоыре туда копируются контроллером АТА или САТА. если памяти мало, тогда такой кеш там долго не задержится, например если памяти 128 мб. можно тоже проверить, обрезав память при загрузке grub4dos-ом
Автор: BVV63
Дата сообщения: 26.03.2012 11:10
doktorpilulkin

Цитата:
котоыре туда копируются контроллером АТА или САТА

У винтов свой кэш, который и используется контроллерами ATA или SATA. Не используют они файл подкачки.
Автор: doktorpilulkin
Дата сообщения: 26.03.2012 11:14
не используют. свой кеш у винтов, у контролеров не уверен. файл подкачки система использует. чтоб по двести раз одни и теже системные дллки с диска не читать она их туда складирует, давно считанные вываливаются, последне считанные добавляются
Автор: BVV63
Дата сообщения: 26.03.2012 11:14

Цитата:
можно тоже проверить, обрезав память при загрузке grub4dos-ом

Это совершенно излишне. В boot.ini можно использовать параметр /burnmemory, обрезая используемую Виндузой оперативку.

Добавлено:

Цитата:
чтоб по двести раз одни и теже системные дллки с диска не читать она их туда складирует

Не DLL-ки, как файлы, а код из них.

Добавлено:
Не могут контроллеры винтов использовать файл подкачки. И другие контроллеры тоже. Только CPU. Файл подкачки - это именно его виртуальная память.
Автор: doktorpilulkin
Дата сообщения: 26.03.2012 11:31
упасть не встать. ата контролер по заданию процессора копирует область жесткого диска в память, сам процессор с диска ничего давно не читает. а файл подкачки ета что - отражение памяти, вот так туда файлы и попадают. и если область диска есть в файле подкачки процессор его оттуда и запросит
Автор: BVV63
Дата сообщения: 26.03.2012 11:59
doktorpilulkin

Цитата:
и если область диска есть в файле подкачки процессор его оттуда и запросит

Нет, не запросит. HDD давным-давно работают через DMA, в обход CPU. При файловом копировании центральный процессор просто не задействован. Он командует (вернее не он, а с его участием), что нужно скопировать то-то и то-то, но сам в копировании участия не принимает.
Автор: doktorpilulkin
Дата сообщения: 26.03.2012 12:16
ню ню
Автор: oshizelly
Дата сообщения: 23.11.2013 18:52
Продолжу старую тему немного другим вопросом. У меня в Windows XP x32 файл подкачки page.sys всегда жил на отдельном логическом разделе Y:

Некоторое время назад решил попробовать поработать с файлом подкачки на системном разделе C: Попробовал, не понравилось. Решил убрать файл подкачки с системного раздела, оставив только на разделе Y:

Выставил необходимые (??) параметры, перезагрузился раз, потом ещё пару раз для верности. Файл подкачки так и сидит на системном разделе Я не знаю, используется ли он системой или нет, но каждый раз при перезагрузке его время модификации обновляется.
Пробовал удалить его вручную, получил вполне ожидаемый отлуп.

Что я делаю не так и как теперь избавиться от файла на разделе C: ? Там и так места в обрез.

Спасибо!



Добавлено:
Кстати, размер свободного места на разделе C: 6 GB, который виден на скришоте - это размер без учёта файла pagefile.sys. То есть, реально там сейчас около 3 GB свободного места, и сам файл pagefile.sys около 3 GB - итого получается 6 GB. То есть, получается, что Windows XP как бы считает, что этого файла там нет?
Автор: thelamb
Дата сообщения: 23.11.2013 19:28
oshizelly
Возможно вы что-то неверно сделали? Щёлкаете *без подкачки*, потом по *Задать* (Set), потом *Ок. Потом перезагрузка. После перезагрузки папка должна исчезнуть с диска С.
Теперь меняете букву диска и введя нужный размер, всё повторяете? Просто иногда забывают щёлкнуть по *Задать (Set).
Автор: cuba65
Дата сообщения: 23.11.2013 19:36
oshizelly
Дело в малом количестве свободного места на Y относительно текущего значения подкачки. Если у Вас по-прежнему 4 Гб ОЗУ, то задайте для Y 1 ГБ, ну, или 2 (я бы сделал 512 МБ ) Однозначно, без мин-макс (Вам этого должно хватить "за глаза"). А для С, по-прежнему, задайте "без файла подкачки". Все должно нормализоваться после ребута. Да, на Y стоит перемещать page, только если это - другой винт.
И проверьте значение в реестре HKLM\SYSTEM\CurrentControlSet\Control\CrashControl
SetValue "CrashDumpEnabled"=dword:00000000 (0) (отсутствие записи отладочной информации) Если указано не 00000000, то наличие подкачки на системном разделе - обязательно.
Автор: oshizelly
Дата сообщения: 23.11.2013 19:52
thelamb 19:28 23-11-2013
Цитата:
Возможно вы что-то неверно сделали? Щёлкаете *без подкачки*, потом по *Задать* (Set), потом *Ок... Просто иногда забывают щёлкнуть по *Задать (Set).

У меня тоже первая мысль была, что забыл сохранить изменения. Но нет, ведь скриншот сделан именно сейчас, после нескольких перезагрузок, и мы видим именно изменённые настройки.

cuba65 19:36 23-11-2013
Цитата:
Дело в малом количестве свободного места на Y относительно текущего значения подкачки

Да нет, ничуть не мало. На скриншоте этого, правда, не видно, но на разделе Y: сейчас 2,8 GB свободного места. Если прибавим текущий размер файла pagefile.sys 1,048 GB, то получим 2,8 + 1,0 = 3,8 GB, что заведомо больше максимального значения размера файла подкачки 3,5 GB, выставленного в диалоге настроек.


Цитата:
Да, на Y стоит перемещать page, только если это - другой винт.

Это я уже давно понял, потому и пытался перенести его на C: Но там и так места впритык. Не переформатировать же из-за этого весь диск. Так что пусть уж остаётся, как сложилось исторически.
Автор: cuba65
Дата сообщения: 23.11.2013 19:55
oshizelly
Еще раз. Задайте фиксированный размер на Y в 1 ГБ, перезадайте отсутствие на С. И все получится, при условии отказа от формирования дампа
Автор: oshizelly
Дата сообщения: 23.11.2013 19:57
cuba65 19:36 23-11-2013
Цитата:
И проверьте значение в реестре HKLM\SYSTEM\CurrentControlSet\Control\CrashControl
SetValue "CrashDumpEnabled"=dword:00000000 (0) (отсутствие записи отладочной информации) Если указано не 00000000, то наличие подкачки на системном разделе - обязательно.

Там сейчас стоит значение "3".
Имеет смысл изменить на "0"? Или лучше выставить минимальное значение для файла на системном разделе, допустим, 100 MB?

[more=вот вся ветка системного реестра]Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000001
"CrashDumpEnabled"=dword:00000003
"DumpFile"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,4d,00,45,00,4d,00,4f,00,52,00,59,00,2e,00,44,00,4d,00,50,\
00,00,00
"LogEvent"=dword:00000001
"MinidumpDir"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,4d,00,69,00,6e,00,69,00,64,00,75,00,6d,00,70,00,00,00
"Overwrite"=dword:00000001
"SendAlert"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\MachineCrash]
"DumpFile"="C:\\WINDOWS\\DUMP9487.tmp"
"TempDestination"=dword:00000001[/more]


Автор: cuba65
Дата сообщения: 23.11.2013 20:04
oshizelly
Если не будете анализировать коды при сбоях, ставьте 0.
Автор: oshizelly
Дата сообщения: 23.11.2013 20:09
cuba65 19:36 23-11-2013
Цитата:
то задайте для Y 1 ГБ, ну, или 2 (я бы сделал 512 МБ ) Однозначно, без мин-макс
Задайте фиксированный размер на Y в 1 ГБ

Не понимаю, как задать "фиксированный размер без мин-макс". Там в диалоге настроек нет такой опции!
Можно выбрать из следующих вариантов: 1) Кастомный (этот самый мин-макс) 2) По усмотрению системы; 3) Не создавать файла.
Или имеется в виду, что выставить одинаковые значения для "мин" и для "макс?"
Автор: cuba65
Дата сообщения: 23.11.2013 20:10
oshizelly
Да 1024-1024, например. Ведь только в таком случае гарантируется отсутствие фрагментации (дробления) page
Автор: oshizelly
Дата сообщения: 23.11.2013 20:17
cuba65

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

Но всё-таки хочется понять, для общего развития, вот это.

cuba65 19:36 23-11-2013
Цитата:
Дело в малом количестве свободного места на Y относительно текущего значения подкачки.

На скриншоте этого, правда, не видно, но на разделе Y: сейчас 2,8 GB свободного места. Если прибавим текущий размер файла pagefile.sys 1,048 GB, то получим 2,8 + 1,0 = 3,8 GB, что заведомо больше максимального значения размера файла подкачки 3,5 GB, выставленного в диалоге настроек.
Автор: cuba65
Дата сообщения: 23.11.2013 20:27
oshizelly
"Заведомо" - слишком сильно сказано для остатка в 260 МБ. Да еще, наверное, опция предупреждения о нехватке места включена... При том, что текущая загрузка подкачки - 4 ГБ. Короче, нет у Вас там пока свободного места для ОСи, IMHO

Страницы: 12

Предыдущая тема: Загрузочная флешка 4 Гб с Windows XP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.