- Освобождение оперативной памяти Windows Server 2008R2 без перезагрузки
- Очень важно без перезагрузки сервера суметь освободить оперативную память, особенно когда ее не много
- Проблема высокой загрузки памяти системным файловым кэшем на Windows Server 2008 R2
- Высокая загрузка оперативной памяти на файловом сервере Windows
- Что такое метафайл в Windows?
- Быстрая очистка метафайла MFT в памяти
- Служба Dynamic Cache Service для управления файловым кэшем
- Использование очистки диска на Windows Server Using Disk Cleanup on Windows Server
- Включение очистки диска в более ранней версии Windows Server с помощью установки возможности рабочего стола Enable Disk Cleanup on an earlier version of Windows Server by installing the Desktop Experience
- Добавление средства очистки диска вручную на более ранних версиях Windows Server Manually add Disk Cleanup to an earlier version of Windows Server
Освобождение оперативной памяти Windows Server 2008R2 без перезагрузки
Очень важно без перезагрузки сервера суметь освободить оперативную память, особенно когда ее не много
Вот, как это можно сделать:
Перейду сразу к решению проблемы:
Из сайта Microsoft скачиваете утилитку RAMMap:
При запуске она покажет все процесы, даже системние, которих не увидите в диспетчере задач:
Если какой-то софт не освобождает память после себя, чтобы не перегружать из-за этого сервер, в RAMMap нужно по очереди выбрать следуюющие функции:
Empty -> Standby List
Empty -> SystemWorkingSet
И нажать F5 чтобы увидить разницу.
Вот, что получиться после этого:
Видим, что системние ресурси (Metafile, Mapped File), которие использовались системой освободили память. На скриншоте из диспетчером задач видно, что освободилось больше, чем полтора ГБ на сервере, которий и так нре был загружен под завязку.
Собственно, что и было нужно!
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Проблема высокой загрузки памяти системным файловым кэшем на Windows Server 2008 R2
На одном из файловых серверов под управлением Windows Server 2008 R2 обнаружилась проблема с высокой загрузки оперативной памяти (RAM), выливающаяся в проблемы с производительностью сервера и запущенных на нем служб. Как оказалось, память забивалась системным файловым кэшем с метаданными файловой системы. Проблеме потенциально подвержены все файловые сервера с большим количеством файлов, к которым обращаются пользователя. Наиболее критична проблема для 64 битных версий Windows, на которых размер метафайла в памяти может занять практически всю емкость установленной оперативной памяти. В статье разберемся как проявляется проблема, выявим ее источники и способы решения.
Высокая загрузка оперативной памяти на файловом сервере Windows
Проблема проявляется следующим образом: в диспетчере задач (Task Manager) видим, что на сервере оперативная память занята на 95-99%.
Перейдя на вкладку процессов, не удастся найти какой-то утекший процесс с аномально высоким потреблением памяти. Кроме того, если навскидку сложить память, занятую всеми процессами, отображаемыми в диспетчере задач, даже близко не удается приблизиться к 50% физической памяти, установленной на сервере. Так кто же съел всю память?
Реальный расклад по использованию оперативной памяти может дать утилита RAMMap (Марка Руссиновича). Качаем архив с утилитой и запускаем из архива файл RAMMap.exe с правами администратора. На вкладке Use Counts, видим, что больше всего физической памяти использует объектом Metafile (в нашем случае на него приходится 11 из 25 Гб оперативной памяти сервера).
Что такое метафайл в Windows?
Метафайл (Metafile) — это часть системного кэша, который содержит метаданные файловой системы NTFS и используется для увеличения быстродействия файловой системы при доступе к файлам. Метаданные NTFS включают в себя данные таблицы MFT (Master File Table). Для каждого файла/папки, к которому обращались пользователи, в метафайле создается соответствующий блок, размером как минимум 1 Кб (запись об атрибуте каждого файла занимает 1кб, и каждый файл имеет как минимум один атрибут). Таким образом, на файловых серверах с большим количеством файлов, к которым идут постоянные обращения, размер системного кэша NTFS (метафайла) может достигать нескольких гигабайт.
Отключить этот кэш или управлять им с помощью стандартных средств Windows не получится. Как решение, можно увеличить количество памяти на сервере, но реализуемо это далеко не всегда.
Если перезагрузить сервер, память используемая метафайлом освобождается, но со временем размер метафайла в памяти все равно начинает неконтролируемо расти.
К примеру, оценить размер MFT таблицы можно с помощью еще одной утилиты Руссиновича – ntfsinfo. К примеру, в нашем примере для 2 Тб диска размер MFT таблицы составляет 13 Гб.
Быстрая очистка метафайла MFT в памяти
Утилита RAMMap предоставляет возможность быстрой очистки используемой памяти от мусора без необходимости перезагрузки сервера. Для этого нужно в меню выбрать раздел Empty -> Empty System Working Set. После этой операции размер памяти под metafile уменьшился в десятки раз, а процент использования RAM сервером упал с 95% до 26%.
Основной недостаток такого метода – процесс очистки ручной и никак не автоматизируется.
Служба Dynamic Cache Service для управления файловым кэшем
Другим, более кардинальным, решением проблемы высокой загрузки оперативной памяти метафайлом файловой системы является установка службы Dynamic Cache Service (http://www.microsoft.com/en-us/download/details.aspx?id=9258). Данная служба через системные API позволяет управлять параметрами выделяемого кэша.
Установка DynCache довольно простая (подробные инструкции есть в архиве с программой).
- Копируем файл в DynCache.exe в каталог %SystemRoot%\System32
- Создадим службу DynCache командой sc create DynCache binpath= %SystemRoot%\System32\DynCache.exe start= auto type= own DisplayName= «Dynamic Cache Service»
- Импортируем файл DynCache.reg в реестр (содержит дефолтные значения)
- Изменим значения следующих ключей реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters
- MaxSystemCacheMBytes: 4096 (dec) – максимальный размер кэша
- MinSystemCacheMBytes: 100 (dec) – минимальный размер
В нашем случае, после установки службы DynCache, использование памяти метафайлом перестало превышать заданного нами значения 4 Гб. Пользователи каких-либо проблем с ухудшением производительности файлового сервера не выявили.
Использование очистки диска на Windows Server Using Disk Cleanup on Windows Server
Применяется к: Windows Server 2019, Windows Server 2016, Windows Server 2016 R2, Windows Server 2012, Windows Server 2012 R2 Applies to: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2
Средство очистки диска удаляет ненужные файлы в среде Windows Server. The Disk Cleanup tool clears unnecessary files in a Windows Server environment. Это средство доступно по умолчанию в Windows Server 2019 и Windows Server 2016, но в более ранних версиях Windows Server могут потребоваться дополнительные действия вручную для его включения. This tool is available by default on Windows Server 2019 and Windows Server 2016, but you might have to take a few manual steps to enable it on earlier versions of Windows Server.
Чтобы запустить средство очистки диска, выполните команду cleanmgr.exe или последовательно выберите Пуск, Средства администрирования Windows, Очистка диска. To start the Disk Cleanup tool, either run the Cleanmgr.exe command, or select Start, select Windows Administrative Tools, and then select Disk Cleanup.
Кроме того, средство очистки диска можно запустить командой Windows cleanmgr, указав в параметрах командной строки параметры для удаления определенных файлов. You can also run Disk Cleanup by using the cleanmgr Windows command and use command-line options to specify that Disk Cleanup cleans up certain files.
Если вы просто хотите освободить место на диске, рассмотрите возможность использования Синхронизации файлов Azure с включенным распределением по уровням облака. If you’re just looking to free up disk space, consider using Azure File Sync with cloud tiering enabled. Благодаря этому вы сможете кэшировать часто используемые файлы локально и распределять редко используемые файлы по уровням облака, сохраняя пространство в локальном хранилище и поддерживая производительность. This allows you to cache your most frequently accessed files locally and tier your least frequently accessed files to the cloud, saving local storage space while maintaining performance. Дополнительные сведения см. в статье Планирование развертывания Синхронизации файлов Azure. For details, see Planning for an Azure File Sync deployment.
Включение очистки диска в более ранней версии Windows Server с помощью установки возможности рабочего стола Enable Disk Cleanup on an earlier version of Windows Server by installing the Desktop Experience
Выполните описанные ниже действия, чтобы использовать мастер добавления ролей и компонентов для установки возможностей рабочего стола на сервере под управлением Windows Server 2012 R2 или более ранней версии, в составе которых устанавливается и средство очистки диска. Follow these steps to use the Add Roles and Features Wizard to install the Desktop Experience on a server running Windows Server 2012 R2 or earlier, which also installs Disk Cleanup.
Если диспетчер серверов уже открыт, переходите к следующему шагу. If Server Manager is already open, go on to the next step. Если диспетчер серверов еще не открыт, откройте его одним из следующих способов. If Server Manager is not already open, open it by doing one of the following.
На рабочем столе Windows запустите диспетчер серверов, щелкнув Диспетчер серверов на панели задач Windows. On the Windows desktop, start Server Manager by clicking Server Manager in the Windows taskbar.
Откройте Начальный экран и щелкните плитку «Диспетчер сервера». Go to Start and select the Server Manager tile.
В меню Управление выберите добавление ролей и компонентов. On the Manage menu, select add Roles and Features.
На странице Прежде чем приступить к работе проверьте готовность конечного сервера и сетевого окружения к установке нужного компонента. On the Before you begin page, verify that your destination server and network environment are prepared for the feature that you want to install. Выберите Далее. Select Next.
На странице Выбор типа установки выберите Установка ролей или компонентов, чтобы установить все компоненты для отдельного сервера. On the Select installation type page, select Role-based or feature-based installation to install all parts features on a single server. Выберите Далее. Select Next.
На странице Выбор целевого сервера выберите сервер из пула серверов или автономный виртуальный жесткий диск. On the Select destination server page, select a server from the server pool, or select an offline VHD. Выберите Далее. Select Next.
На странице Выбор ролей сервера щелкните Далее. On the Select server roles page, select Next.
На странице Выбор компонентов выберите элемент Пользовательский интерфейс и инфраструктура, а затем — Возможности рабочего стола. On the Select features page, select User Interface and Infrastructure, and then select Desktop Experience.
В диалоговом окне Добавление компонентов, необходимых для возможностей рабочего стола щелкните элемент Добавить компоненты. In Add features that are required for Desktop Experience?, select Add Features.
Продолжите установку, затем перезагрузите систему. Proceed with the installation, and then reboot the system.
Убедитесь, что в диалоговом окне «Свойства» появилась кнопка Очистка диска. Verify that the Disk Cleanup option button appears in the Properties dialog box.
Добавление средства очистки диска вручную на более ранних версиях Windows Server Manually add Disk Cleanup to an earlier version of Windows Server
Средство очистки диска (Cleanmgr.exe) отсутствует в Windows Server 2012 R2 и более ранних версиях, если не установлен дополнительный компонент «Возможности рабочего стола». The Disk Cleanup tool (cleanmgr.exe) isn’t present on Windows Server 2012 R2 or earlier unless you have the Desktop Experience feature installed.
Чтобы использовать программу cleanmgr.exe, установите возможности рабочего стола, как описано выше, или скопируйте два файла cleanmgr.exe и cleanmgr.exe.mui, которые уже имеются на сервере. To use cleanmgr.exe, install the Desktop Experience as described earlier, or copy two files that are already present on the server, cleanmgr.exe and cleanmgr.exe.mui. С помощью следующей таблицы выберите нужные файлы для используемой операционной системы. Use the following table to locate the files for your operating system.
Операционная система Operating System | Архитектура Architecture | Расположение файла File Location |
---|---|---|
Windows Server 2008 R2 Windows Server 2008 R2 | 64-разрядная 64-bit | C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe |
Windows Server 2008 R2 Windows Server 2008 R2 | 64-разрядная 64-bit | C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui |
Найдите файл cleanmgr.exe и переместите его в папку %systemroot%\System32. Locate cleanmgr.exe and move the file to %systemroot%\System32.
Найдите файл cleanmgr.exe.mui и переместите его в папку %systemroot%\System32\en-US. Locate cleanmgr.exe.mui and move the files to %systemroot%\System32\en-US.
Теперь вы можете запустить средство очистки диска, выполнив команду Cleanmgr.exe из командной строки, или открыв начальный экран и набрав строку Cleanmgr на панели поиска. You can now launch the Disk cleanup tool by running Cleanmgr.exe from Command Prompt, or by clicking Start and typing Cleanmgr into the search bar.
Чтобы в диалоговом окне «Свойства» для диска появилась кнопка «Очистка диска», необходимо установить компонент «Возможности рабочего стола». To have Disk Cleanup button appear on a disk’s Properties dialog, you will also need to install the Desktop Experience feature.