High swap space usage windows

Why is Windows using the page file when RAM is available?

I have a server running Windows 2008 Standard (not R2).

I just ran into an issue where our ERP system came to a stand still.

When I checked the Task Manager, RAM was 100% consumed and the page file was using 14GB. This is not the problem as we have this issue some times.

After I stopped the ERP system, it releases all the RAM it was using and Windows had reclaimed 28GB of the 32GB available but the paging file was still using 3GB

As I started to restart the ERP system, the RAM usage increase, as expected, but the paging file usage grew as well. In the end, I had 10GB of Physical Memory in use and the page file had 9GB in use.

With 22GB still available, why is the page file being consumed so much? Is there a way to control this?

My expectation is that it would use RAM until none was available and then use the page file but maybe my understanding is not correct.

«The pagefile is used even when free RAM is available by design.
Processes with less activity are paged away to make room for other memory claims. Consider Windows always first using all RAM. In the case RAM is full and a new application is started, Windows should identify which processes can be paged away, read them from ram, write them to disk, read teh new program from disk and load it in the freed RAM. This consumes a lot of time as disk read/write is a very slow operation, and all while the user is waiting for his program to start.
So to work around this performance hit, Windows will monitor memory usage and page away all that is not often used to keep RAM free for new processes that might start.»

The help desk software for IT. Free.

Track users’ IT needs, easily, and with only the features you need.

12 Replies

You can always turn it off in Performance Options > Advanced Tab.

I’m not sure I want to go that far.

If I do that and RAM is maxed out, I’d imagine I have a whole new set of problems.

«The pagefile is used even when free RAM is available by design.
Processes with less activity are paged away to make room for other memory claims. Consider Windows always first using all RAM. In the case RAM is full and a new application is started, Windows should identify which processes can be paged away, read them from ram, write them to disk, read teh new program from disk and load it in the freed RAM. This consumes a lot of time as disk read/write is a very slow operation, and all while the user is waiting for his program to start.
So to work around this performance hit, Windows will monitor memory usage and page away all that is not often used to keep RAM free for new processes that might start.»

I once read a TechNet article stating that even though it reads page file usage that this is not really the case. The page file usage was actually meant to show the actual committed bytes that Windows can use. It made sense, but I have always wondered the same.

Linux does the same. It’s a performance algorithm. It guesses at what is needed and what is not needed and where cache and buffers make more sense than normal memory use.

What kind of server is it on? Is 32GB the max? I’d go 64GB and turn it off. Or if it’s in a Mirror’s RAID I’d add another drive if possible dedicated for a pagefile. Like a 7200RPM SATA or 10k SAS.

Depends on your size. A lot of ERPs use hundreds of GB or even a few TB of RAM. ERPs get to be pretty mammoth. Ours run on water cooled mainframes with many TB of RAM.

Depends on your size. A lot of ERPs use hundreds of GB or even a few TB of RAM. ERPs get to be pretty mammoth. Ours run on water cooled mainframes with many TB of RAM.

So, definitely want to see pictures of that.

Thanks for all the responses.

I feel a little better knowing that Windows is probably not paging our our ERP processes.

It is likely that our ERP system does have memory leaks. The version we are on has terrible performance issues, which is why we are pushing hard to upgrade to the latest version.

If your ERP is running SQL Server in the background and it is a commercial product, not one you wrote in house, the large memory usage is more likly due to SQL Server caching the execution plan for a given query in memory. It will by default cache all the execution plans it can to speed up execution performance of queries.

The best tuning option to look at here, with respect for large scale performance and memory tuning is running the database optimized for ad-hoc workloads, which is available from SQL 2005 onward.

The optimize for ad hoc workloads option is used to improve the efficiency of the plan cache for workloads that contain many single use ad hoc batches. When this option is set to 1, the Database Engine stores a small compiled plan stub in the plan cache when a batch is compiled for the first time, instead of the full compiled plan. This helps to relieve memory pressure by not allowing the plan cache to become filled with compiled plans that are not reused.

Читайте также:  Mingw64 установка windows 10

Try running the ERP with this invoked and see if your performance does not edge up.

First RAM will never max out unless the account is able to lock pages in memory.

What is the paging file?

Windows manage file on the local system. Used to make room in RAM swapping the data from the RAM to the Disk this is known as paging.

When a file is written to the disk in will try to write it continuously. When can this happen. At the moment the system is booted. Any other time the file would be fragmented. Unless you on a SSD drive it is very time consuming and will require all application to stop while the file is increased in size. So for the paging file make it one size and do not let windows manage this file.

My Goal – make everyone a GRU.

Configure the OS paging file and do not to allow system to set a low and hi file size.

4 GB RAM is 6.25 paging file. Don’t give a low and high single size file. What happens when a file grows many times through the day? It Fragments, thus having the page file fragmented. Not only do you have to Read and Write data from page but also read it across several parts of the disk. And if you update the page, (not really you), you have to update all the fragmented parts of the file across the disk. Multitasking at its finest. Give your computer ample paging file or turn it off. Min and Max is good for only those systems you did not purchase enough Disk space. Bite the bullet and admit you purchased the wrong size disk and purchase a new disk. Creating the page file with equation above will prevent a lot of page faults. That’s when the system expects that the information exist on a Page, When it does not it has to go back and get that information again. This is known as a page fault. Most people see a slow system as an issue with Hardware. Increasing Hardware is easy and lest conflicts. So you buy more memory making the situation worse. If you have the ability always purchase a separate disk set. I like to call it the S drive. System Page set to max based on Memory requirements. 64 GB ram would = (64 + 32 +.5) 96.5 GB = 98816 MB the system will round up or down to the correct amount of Ram it needs. Once this file is created then move system logs. Remember this order you don’t want a fragmented paging file. If you know what this is referring to and you know how to do go now and save the world. If not follow the directions and still go save the world.


Для системного администратора

Все о Linux swap space

1. Что такое Swap и зачем оно

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

В ОС Linux оперативная память (ОЗУ, RAM, random access memory) делится на разделы, называемые страницами (pages). Swapping (”подкачка”, своппинг) – это процесс во время которого страницы памяти копируются на специально сконфигурированный для этого раздел диска, называемый swap space (раздел подкачки, может быть как и файлом, так и разделом жесткого диска), для освобождения ОЗУ. Совокупные размеры физической памяти и раздела подкачки – это объем имеющийся виртуальной памяти.

Своппинг необходим по следующим причинам. Во-первых, когда системе необходимо больше памяти (т.е. приложение или процесс запрашивает у системы больше памяти) чем сейчас свободно в ОЗУ, ядро разгружает (”откачивает”) наименее используемые страницы и освобожденную память выделяет текущему приложению или процессу. А во-вторых, значительное количество страниц используемых программами на стадии запуска, используются только при инициализации и никогда более. Соответственно система может засвапить эти страницы, тем самым освобождая (разгружая) ОЗУ.

Тем не менее у своппинга есть и недостатки. По сравнению с ОЗУ, работа с жестким диском осуществляется на много медленнее. Для оценки временных затрат на чтение/запись в ОЗУ используются наносекунды, в то время как для жесткого диска используются миллисекунды, т.е. одни и теже операции на жестком диске занимают в десятки тысяч больше времени чем в ОЗУ. Следовательно чем больше страниц спаппится, тем медленнее работает ваша система. Иногда могут возникать такие проблемы, когда страница откачивается из ОЗУ, и через очень короткий промежуток времени закачивается обратно, и т.д., это приводит к сильному затормаживанию вашей системы. В таких ситуациях выход один – увеличить объем ОЗУ.

В Linux есть две формы своппа: раздел подкачки и файл подкачки. Раздел подкачки – это отдельный раздел на жестком диске, используемый только для своппинга, никакие другие файлы не могут там располагаться. Файл подкачки – это специальный файл в файловой системе.

(Кстати в Windows тоже есть файл подкачки, его даже иногда есть смысл переносить на отдельный диск, т.к. тогда он не будет фрагментироваться. Но это не будет тем же самым, как Linux своп раздел, т.к. в Linux работа с этим разделом происходит на низком уровне.)

2. Swap partition, своп-раздел

Каждая строчка в этом списке описывает имеющиеся у вас своп пространства. В поле “Type” указывается тип пространства: partition (раздел) или file (файл). Поле “Filename” показывает местоположение свопа. Далее идет общий размер свопа и сколько сейчас используется. В последнем поле указан приоритет, т.е. какие пространства системе использовать вначале. Стоит отметить, что если примонтировать несколько своп-простанств расположенных на разных жестких дисках, и выставить им одинаковый приоритет, то Linux будет равномерно распределять страницы памяти по ним, что приведет к существенному увеличению производительности системы.

Читайте также:  Windows 10 ошибка синий экран перезагрузка

Перед тем как добавить новый своп-раздел, необходимо приготовить для него место. Для начала убедитесь в том, что раздел помечен как swap. Для этого используйте следующую команду:

Замените /dev/hdb на на путь к устройству где будет расположен своп. Результат должен выглядеть примерно так:

Device Boot Start End Blocks Id System
/dev/hdb1 2328 2434 859446 82 Linux swap / Solaris

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

Как только раздел помечен как своп, необходимо подготовить, для этого используется следующая команда:

Если никаких ошибок нет, то можно подключать своп-раздел:

Для того что бы новый своп автоматически монтировался при старте системы, необходимо внести некоторые изменения в файл /etc/fstab, в котором содержатся все файловые системы и свопы, монтирующиеся при старте. Формат файла следующий:

Таким образом, swap-space – это специальный тип файловой системы. Для добавления нового свопа добавьте следующую строку:

/dev/hdb1 none swap sw 0 0

3. Swap file, своп-файл

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

Для начала создайте файл, например размером один гигабайт:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Затем подготавливаем своп:

Т.е. все аналогично: swapon /swapfile

Осталось только добавить строку в файл /etc/fstab:

/swapfile none swap sw 0 0

4. Какого размера должен быть своп?

Вообще своп не необходим, если у вас много ОЗУ и все работает хорошо, но как только система запросит больше памяти, то вероятней всего она рухнет. Так что лучше всего иметь своп, тем более, что диски сейчас не такие уж и дорогие.

Ключевым остается вопрос “Сколько?”. Старые версииUNIX-подобных операционных систем (Sun OS, Ultrix) официально требовали своп в два или три раза больше чем ОЗУ. Современные системы, например Linux, уже не требуют такого объема, но вы всегда можете сконфигурировать и больше. Со временем выработались некоторые негласные правила:

В ядре Linux версии 2.6 добавился новый параметр свопа – swappiness. Он принимает значения от 0 до 100. Т.е. грубо говоря – это эффективность своппинга, чем выше значение, тем больше страниц приложения стараются выгрузить в своп. Один из главных майнтенеров ядра Andrew Morton сказал, что он на своем домашнем ПК использует swappiness=100. Он считает, что это не правильно, уменьшать возможности ядра к своппингу.

Но как было сказано в начале, если время между выгрузкой и загрузкой страниц больше, чем время которое нужно программе, то это лишнии потери времени. По умолчанию swappiness равен 60. Вы можете временно (до следующей перезагрузки системы) изменить это следующей командой:

echo 50 > /proc/sys/vm/swappiness

Для того что бы изменить значение по умолчанию необходимо изменить параметр vm.swappiness в файле /etc/sysctl.conf.

5. Вывод

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

Этот пост December 8, 2007 at 11:21 am опубликовал molse в категории Linux. Желающие могут оформить RSS подписку на комменты. Both comments and trackbacks are currently closed.


Windows 7 reduce swap space on SSD

Brand new. No software on. There is nothing to compress or cleanup.

I only have 71.5 GB out of 117 GB left on my SSD drive. I only got 16 GB of RAM, because it was a US$40 upgrade from 8 GB. I don’t think I will ever fill it up. Can I reduce the swap space?

I don’t think I need 16 GB of swap space. I doubt I would ever fill up 16 GB of RAM. I am not going to play three games at once. If so, what can I reduce it to?

Also, would turning off hybernate free up space? I don’t really need this either. The system boots up really fast. When I googed this, I only saw a command-line interface to turn it off, so I am hesitant that this may not be supported.

4 Answers 4

You can reduce the size, but do leave some swap space. Some programs and parts of Windows will give weird errors and might crash your PC when there’s no swap space. I was recommended to keep it between 512MB and 1024MB.

To reduce it, follow this: (from here)

Open System by clicking the Start button Picture of the Start button, clicking Control Panel, clicking System and Maintenance, and then clicking System.

In the left pane, click Advanced system settings. Administrator permission required If you are prompted for an administrator password or confirmation, type the password or provide confirmation.

On the Advanced tab, under Performance, click Settings.

Click the Advanced tab, and then, under Virtual memory, click Change.

Clear the Automatically manage paging file size for all drives check box.

Under Drive [Volume Label], click the drive that contains the paging file you want to change.

Click Custom size, type a new size in megabytes in the Initial size (MB) or Maximum size (MB) box, click Set, and then click OK.

It is also safe to disable hibernate on your PC. The command line is the only way I know of. It is also the same procedure I followed.

You could also create a RAMDisk for your temp folders, this way you can use some of your spare RAM and reduce the strain on your SSD a bit. All the necessary info is available in the manual provided on their website.

If you are confident that you will rarely use swap then you can reduce the swap file to a few hundred MBs. (Windows always seems to use a few MB, but even on a 120 GB SSD you will not miss 100 MB or 200 MB for swap.

Читайте также:  Windows 10 игровые функции недоступны

The system I am typing this on is a desktop with a configuration similar you yours. Small SSD (Intel Postville G2/X18-M/X25-M, 80 GB), 18 GB RAM and a hardware RAID for storage of large files. I disabled hibernate and lowered swap to 16 MB. It has worked like a charm for years. 🙂

Also, without these large files and with most restore points removed I use 17 GB for Windows 7 (64 bit), OpenOffice, Firefox, Thunderbird, PuTTY, Opera, etc. This is about half the space your install currently uses.



Swapspace — консольная утилита, работающая в фоновом режиме (демон), предназначенная для динамического управления подкачкой (динамический менеджер подкачки / a dynamic swap manager). Создана в рамках проекта Software Industry Promotion Agency (SIPA), автор Jeroen Т. Vermeulen.

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

Изменить значение (например на 10, рекомендуемый минимум) можно выполнив:

Для того что бы при необходимости не увеличивать размер физического раздела swap и иметь достаточного места для подкачки можно воспользоваться Swapspace. При её использовании обычный раздел подкачки, заданный при установке, может быть минимального размера или совсем отсутствовать (особенно при размере оперативной памяти 4Гб и более). В любом случае, будучи запущенной, утилита позволит пользователю не задумываться (во время работы) о свободном swap пространстве. Как только Swapspace определит что в системе оперативная память заполнена (до заданного в настройках предела) и требуется её освободить, на жестком диске в указанном каталоге будет автоматически создан swap-файл нужного для освобождения оперативной памяти размера (чуть больше требуемого). И наоборот, если оперативная память свободна и больше не нужна, swap-файл освобождается. Это позволяет системе при запуске интенсивно работающих с памятью приложений иметь достаточно места для их нормальной работы.

В отличии от приложений аналогичного назначения, таких как dynswapd и swapd, Swapspace автоматически создаёт файлы подкачки требуемого размера только при необходимости. Это означает что её работа не зависит от настроек (ограничений) на количество swapfiles заданных в системных настройках (не зависимо от того что ядро записывает на диск). Если будет определено что всё больше и больше файлов подкачки необходимо, то будут создаваться всё более крупные файлы, а если необходимость небольшая то создаются мелкие файлы для более быстрой их загрузки в оперативную память. Будучи запущенной Swapspace занимает около 300Кб в оперативной памяти (по мере работы размер не увеличивается), а при разработке основное внимание уделялось простоте и удобству в использовании, учитывались все ошибки и недочёты реализации в приложениях аналогичного назначения. Удобство Swapspace заключается ещё и в том что приложение во время работы не задаёт никаких «глупых вопросов» пользователю, стараясь самостоятельно определить что необходимо при выполнении тех или иных задач (сообразуясь с настройками, без вмешательства пользователя).

Конфигурационный файл Swapspace, очень прост и находится:

В нём можно задать минимальный и максимальный размер swap-файла, процент резервирования, количество (в процентах) заполнения оперативной памяти при котором начинают создаваться swap-файлы не используемых страниц, а так же процент свободного места для обратной загрузки страниц в оперативную память и продолжительность задержки процессов (для исключения созданий «лишних» swap-файлов). Каталог «по умолчанию» для создаваемых swap-файлов:

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



Блог про Linux, Bash и другие информационные технологии

Менеджер пространства подкачки swapspace

Вообще более привычный вариант использования пространства подкачки — это либо swap-раздел, либо swap-файл. Но есть еще один вариант, который также имеет право на жизнь. При этом он в определенных ситуациях более удобен в использовании. Это swapspace, менеджер динамического управления пространством подкачки. Его задача заключается в использовании дискового пространства в качестве пространства подкачки, когда это необходимо, и освобождении места, когда оно больше не нужно.


В данный момент во многих дистрибутивах уже присутствует соответствующий пакет, и его, соответственно, можно установить при помощи менеджера пакета.

После установки он сразу же запустится и в системе появится такой процесс:

Если же есть необходимость собрать программное обеспечение из исходных кодов, то их можно найти на официальном сайте: http://pqxx.org/development/swapspace.


Пользоваться менеджером пространства подкачки swapspace очень просто. После запуска он работает самостоятельно, автоматически выделяя при необходимости дисковое пространство для сохранения страниц памяти из оперативной памяти. Если быть более точным, то он создает своп-файлы на диске при необходимости и динамически их подключает. Вот как выглядит вывод программы swapon при использовании менеджера пространства подкачки:

То есть, как видите, программа делает то же самое, что можно сделать руками, но делает она это автоматически. Такой способ несколько медленнее, чем своп-раздел, но он хорош тем, что не нужно заранее создавать раздел или своп-файл руками.


Самое первое, что делаем — это редактируем файл /etc/swapspace.conf. В нем необходимо раскомментировать несколько строчек и файл после этого должен выглядеть примерно так:

После этого надо рестартовать сервис

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

Особенности работы

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


Поделиться с друзьями
Советы экспертов и специалистов