Заметки Сис.Админа

статьи

Правильные размеры файла подкачки для разных объемов памяти

Доброго времени суток, дорогие друзья, знакомые и прочие личности.

В первой части этого цикла, а именно в статье [“Как настроить файл подкачки и что это такое” или “Точечная оптимизация”, Часть 1] я писал о том, что же такое файл подкачки, как его создать, каких размеров он должен быть и где располагаться (т.е. та статья содержит блок информации необходимый для прочтения этой).

run

Как-то так сложилось, что вторая часть статьи тоже коснется файла подкачки, а именно ряда тонкостей по его настройке, размерам файла подкачки для различных объемов памяти и всём таком прочем.

Поехали.

О размерах файла подкачки. Какие правильные и почему

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

speed

Посему, лично я бы рекомендовал снизить размер файла подкачки вдовое ниже рекомендуемого, а иногда и еще сильнее. Оный совет конечно же актуален при достаточном количестве оперативной памяти на компьютере. Что есть достаточно? Это когда при выполнении любых необходимых Вам задач всегда остается свободная оперативная память в размере выше 30% и система не ругается, что ей мало виртуальной памяти. Вообще, например, я, редко замечал, чтобы на 4 Гб оперативной памяти (даже при сильно загруженной процессами и играми системе) оставалось мало свободной оперативной памяти, равно как и при куче запущенных приложений в Windows 8 были какие-то проблемы на 8 Гб. Так зачем нагружать диск обращением к файлу подкачки и терять в производительности?

Многие конечно скажут, что мол, ни фига себе, столько памяти ставить, еще и свободной оставлять.. Вот уж не знаю, если Вам важней производительность, то лишние 100 рублей не должны Вас беспокоить, благо цена на оперативную память ныне просто смешна (на момент написания статьи 4Гб 1600MHz DDR3 стоила менее 1300 рублей), тем более, что выигрыш в производительности очевиден. Впрочем, к сути.

В ходе годовой практики я вывел ряд цифр для каждого количества памяти, чтобы можно было адекватно выставлять файл подкачки, опираясь на кол-во оперативки. Вот они.

  • 512 Mb оперативной памяти, - оптимальный размер файла подкачки 2248-2248 Mb
  • 1024 Mb оперативной памяти, - оптимальный размер файла подкачки  2048-2048 Mb
  • 2048 Mb оперативной памяти, - оптимальный размер файла подкачки 1512-1512 Mb
  • 4096 Mb оперативной памяти, - оптимальный размер файла подкачки 1024-1024 Mb
  • 8 Гб (или выше) оперативной памяти, - без файла подкачки (т.е 0 Mb, т.е отключен)

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

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

Примечание 2. Некоторые приложения требуют файл подкачки в обязательном порядке, независимо от количества памяти. В этом случае файл стоит оставлять даже при 8 ГБ.

Примечание 3. Файл подкачки нужен в больших (отличном от вышеуказанных) размерах, если Вы сворачиваете приложения и переключаетесь на другие, оставляя приложение(я) запущенным (это важно), т.к часто выгрузка свернутых приложений происходит в этот самый файл. В этом случае увеличивайте подкачку.. Или добавляйте память :)

Лично моё мнение таково, что при превышении количества оперативной памяти в 6 Гб файл подкачки не нужен вообще, что дает ощутимый рывок в производительности системы, продлении срока жизни жесткого диска и снижении фрагментации оного.

настройка файла подкачки
Для тех кто забыл, напоминаю, что, например в Windows 7 файл подкачки меняется по этому пути: "Пуск - Настройка - Панель управления  - Система - Дополнительные параметры системы - Дополнительно - Быстродействие - Параметры" (в панели управлении включите мелкие значки, чтобы увидеть категорию "Система")

Расположение файла подкачки

Располагать файл подкачки стоит на более быстром физическом (не логическом, т.е на разделе) диске. Либо, если диски примерно равны по скорости, то на том, куда не установлена система, а так же приложения, что Вы будете использовать. Т.е на диске, который максимально разгружен от операций чтения-записи.

Если диск один, то файл подкачки стоит располагать на отличном (другом) от приложения, которое Вы будете использовать (т.е, допустим, игры у Вас на D:\, то тогда размещаете файл на E: или, если такого нет, то на C:\), логическом разделе и/или отдельно от системы. Редко, но целесообразным бывает делать отдельный раздел для этих нужд.

В общем принцип прост:

  • На максимально быстром (или просто другом от используемых приложений) физическом диске;
  • Или на другом от (используемых приложений) разделе.

Проверить скорость диска можно, например, с помощью HD Tune о котором говорилось в этой статье.

О фрагментации файла подкачки или почему мы выбираем одинаковые размеры

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

настройка файла подкачки - размеры

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

Послесловие

В двух словах как-то так. Надеюсь, что данные советы оказались для Вас полезны и реально увеличили работу Вашей системы. Много прочих вкусностей есть по тегу "Оптимизация".

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

PS: Последняя корректировка размеров файла подкачки произведена в ноябре 2016-го, данные проверены на Windows 7, 8 и 10 (битность x64).

Оценить —

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(17 голосов, в среднем: 4.9 из 5)

Подписаться —

RSS Email Facebook Twitter G+ YouTube
Темы:  , ,
  1. Dailyver

    Здравствуйте . у меня указано в выбранный диск С: Свободно:6мб. В общий обьем файла подкачки указано Рекомендуется: 4990 текущий размер :3327 .Как в таком случае указать исходный размер(МБ)?

  2. yar1uy

    Имею 8ГБ памяти, но при отключении файла подкачки приложение (СS:GO) требовало памяти и закрывало принудительно. С чем это связано?

    • Ivan

      Кстати я тоже, по совету, полностью отключал фаил подкачки. Через некоторое время заметил тормоза, даже не в играх, а в самой системе. Тогда у меня было 4Гига и XP стояла. После включения файла комп летать начал. Походу полностью отключать нельзя.

  3. роман

    4 гб имел озу, сейчас сделал 16 гб, только обнаружил что у меня вообще давно не выставлен файл подкачки. И все работало и работает отлично

    • Sonikelf

      Факт :)

  4. Данил

    Хех... Было 4Гб ОЗУ и 8Гб файл подкачки (по выбору системы). Сайпался с тормозами. Выставил 768-768Мб. Комп стал шустрее. Автору, спасибо за инфу!

    • Sonikelf

      Пожалуйста.

  5. tehnikpc

    >без файла подкачки (т.е 0 Mb, т.е отключен)
    Файл подкачки отлючить невозможно потому, что всем современным процессорам нужна виртуальная память https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C .

  6. tehnikpc

    >что ставит вопрос о необходимости дефрагментации
    Уже не актуально, т.к. все перешли на SSD.

    • Lyeges

      Интересно,в чем вы всех убедили? Файл подкачки отключить возможно,всем современным процессам,и не только современным, виртуальная память не обязательна, дефрагментировать файл подкачки не нужно, все не перешли на SSD(далеко не все);актуально использовать своп,если малый объём ОЗУ,но все же скорость обмена данными на SSD меньше, чем на DDR3,так что лучше иметь в наличии больше ОЗУ,а подкачку отключить.
      "В то же время во встраиваемых системах и в системах специального назначения, где требуется либо очень быстрая работа, либо есть ограничения на длительность отклика (системы реального времени) виртуальная память используется относительно редко" - пример из вашей же ссылки.

      • tehnikpc

        Отключите файл подкачки и запустите Process Explorer виртуальная память как была так и останется.

        • Sonikelf

          Да вы юмарист :)

          • tehnikpc

            Только не нужно ламерства пожалуйста.

            • Sonikelf

              Да-да, я вот о том же

              • Lyeges

                Итак,давайте разбираться! http://s005.radikal.ru/i212/1509/f7/f721081fcb08.jpg
                tehnikpc,вы правы лишь отчасти. На рисунке видно,все что синим цветом - предел ОЗУ,примерно равный 8GB,"Total","Limit",предел выделенной памяти - везде одинаков,из чего следует,что подкачка отключена вообще!Предел выделенной памяти(выделенная память равна ОЗУ+файл подкачки,который у меня равен 0) абсолютно равен объёму ОЗУ в моей системе.Вас смутило,почему вдруг текущие значения "System Commit" не равны "Physical Memory",равно как и в "Диспетчере задач" значения занимаемой памяти и занимаемой "Выделенной памяти"?Для того,чтобы понять,надо разобраться в этих значениях. Всё в интернете описано,не буду сейчас расшифровывать,добавлю лишь,что "Physical Memory" - занимаемый объём ОЗУ,"System Commit"-занимаемый объём + виртуальная память.Подкачка-это тоже виртуальная память,но виртуальная память-не только подкачка.

                • Lyeges

                  Виртуальная память,в то же время,это та память,которая может теоретически выделяться приложению; "Когда процесс выделяет область в виртуальной памяти, операционная система гарантирует, что может предоставить для размещения всех данных процесса область или в физической памяти, или на диске" - отрывок из одной статьи,из которого следует,что виртуальная память может быть как на жестком диске,так и в физической памяти! Когда подкачка отключена,виртуальная память,независимо от этой подкачки,естественно остаётся,выделяется в ОЗУ. Вывод: файл подкачки-далеко не то же самое,что виртуальная память!

                  • Sonikelf

                    Lyeges, давайте "проще".

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

                    Поэтому спасибо Вам за уделенное внимание, но..

                    ЗЫ: Меня подмывает Вас подловить (разоблачить), но пока написанное выглядит сильно тонким троллингом. Еще раз - я без сарказма, просто хочу понять.

                    • Lyeges

                      Sonikelf,не было возможности раньше вам ответить. Все,что я имел ввиду,представил схематично здесь(могу,конечно,сколько угодно сделать снимков с абсолютно разными приложениями!):
                      http://radikal.ru/lfp/s018.radikal.ru/i519/1509/db/f2b1912e5573.jpg/htm
                      По существу,отвечал человеку tehnikpc-у,который утверждал,что узрел в "Process Explorer" "неотключаемую" подкачку,которую он же привязал к виртуальной памяти(в чем,как ни странно,отчасти оказался прав),я же открыл этот самый "Process Explorer" и сделал скриншот в произвольный момент времени,в котором показал,что виртуальная память присутствует,а подкачки нет!Зачем мне это надо? Потому,что самому интересна эта тема и хочу до конца разобраться с появляющимися сообщениями об нехватки ОЗУ(в чем,надеюсь,вроде разобрался-хорошо,если кто поправит!)
                      Далее!Мой текст теоретизирован-возможно,простая привычка печатать грамотно. Насчет чужой логики - не люблю её использовать,всего лишь раз привел цитату выше в кавычках(как вы должны были заметить!) - да и то,чтобы не быть голословным;ссылку не привел - любой с легкостью найдет по этим словам статью в гугле!Абсолютно все мои слова - мои личные наблюдения,суждения,опыт!
                      Теперь ваша статья! Ничего против не имею и,на что вы должны были обратить внимание, больше был на вашей стороне. Ваша статья - ваш опыт,менять вам в ней что-либо или нет,решите вы сами,каких-либо ошибок,которые вам следовало бы исправить,я не вижу.

                      • Sonikelf

                        Спасибо, что поделились.

                        • tehnikpc

                          Кстати, в дистрибутивах Linux не пишет сообщение о нехватки виртуальной памяти, если есть свободная оперативная память, и приложения не закрывает. А Windows просто кривая ОС.

                        • ArtMc81

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

                          • tehnikpc

                            У меня BSOD не бывает.

                            • ArtMc81

                              А у меня 2 рам...

                              • Lyeges

                                ArtMc81,в чём логика ваша? Если вам неинтересно,что обсуждалось выше насчёт отладочной информации в комментариях,то изложите свою "доходчивую" мысль.

                        • ArtMc81

                          Да мне все интересно, но? Скока людей стока и мнеий, у вас может 8 Gb а уменя 2 вам ето ненужно а мне нужно...