и как эта костыль ушатает жд? Чтение данных с диска не перезапись.
» если хит в кэш и очистка будут произведены одновременно, то потенциально возможен бсод. Потому что в этом случае работа с памятью производится на разных уровнях доступа и плохо синхронизируется. Явление нечастое, но риск вполне есть.
Кроме того — в этой части памяти постоянно сидят всякие куски проводника, миниатюры медиа файлов и т.д., которые постоянно туда будут снова загружаться, и переписывать оставшиеся части в файле подкачке. Это дико дрочит диск. Неважно — ссд или хдд.
Кроме того, все эти фризы легко решаются невероятно простым способом — не [автоцензор3.14] муму, а просто оставить дефолтные настройки винды с файлом подкачки и всяческими фетчерами.
Минусы — первый день после установки система реально будет подтормаживать. Ну и нужны действительно быстрые диски, чтоб вся эта схема работала. Желательно — ссд.
Остальным, да, остаётся только пользоваться костылями и всегда жить в страхе бсода. Ну и диск насиловать. «
из комментариев к видосу
AnotherMe
В последних инсайдерских сборках Windows 10 есть маленький баг, который при определенных обстоятельствах может привести к заполнению резервной памяти, в результате чего наблюдается резкое снижение производительности системы. Чаще всего такое внезапное заполнение памяти наблюдается во время игр и работы некоторых приложений, причем последние совсем необязательно должны предъявлять к системе высокие требования.
В Microsoft о проблеме знают и в следующих версиях, вероятно, устранят ее причины, а пока что можно воспользоваться альтернативой — сторонними утилитами для работы с оперативной памятью. Суть временного исправление заключается в следующем — время от времени во время игры нужно запускать функцию, которая будет очищать память. Такой запуск лучше всего реализовать с помощью встроенного планировщика задач, так вам не придется отвлекаться во время работы или игры.
Для дела вам понадобится маленькая консольная тулза Empty Standby List.
Она служит для одной единственной цели — очистке памяти, не нуждается в установке и настройке. Чтобы очистить с помощью тулзы память, достаточно через равные промежутки времени запускать ее исполняемый файл. Посему создаем в планировщике заданий новую задачу.
Тип действия выбираем «Запуск программы», указываем путь к исполняемому файлу утилиты.
В параметрах триггера выбираем «По расписанию», включаем и задаем повтор выполнения задачи через нужный отрезок времени.
Вместо Empty Standby List для очистки памяти в ручном режиме вы также можете использовать утилиту RamMap, входящую в состав пакета Sysinternals Suite. Запустив утилиту, выберите в меню «Emrty» нужные вам опции.
Функция Empty Working Sets выгружает все запущенные приложения и процессы, Empty Modified Page List очищает только модифицированные страницы, Empty Priority 0 Standby List выгружает из памяти процессы с низким приоритетом, функция Empty Standby List очищает всю ОЗУ независимо от приоритетов процессов.
Примечание: старайтесь по возможности не использовать опцию Empty Working Sets, так как в этом случае система предпримет попытку восстановить данные из файла подкачки. В результате количество обращений к HDD/SSD резко возрастет, что в свою очередь в моменте может сказаться не лучшим образом на производительности Windows.
Тулза: wj32.org/wp/software/empty-standby-list
Загрузка…
1C сервер не хочет очищать за собой оперативную память. Автоматизируем процесс очистки.
Господин Wen Jia по фамилии Liu из Сиднея нам сильно помог, написав консольную утилиту EmptyStandbyList.exe, которую мы используем для автоматизации процесса ежедневной очистки оперативной памяти. Утилита работает в ОС Windows Vista и выше. Я проверял на Windows Server 2012 R2.
Утилита может очищать:
- process working sets
- the modified page list
- the standby lists (priorities 0 to 7)
- the priority 0 standby list only
Использование:
EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist
Скачиваем EmptyStandbyList.exe:
https://wj32.org/wp/software/empty-standby-list/
Или у меня: EmptyStandbyList.exe
Сохраняем утилиту в папку, я сохраняю по адресу:
C:RAMEmptyStandbyList.exe
Пишем батник emptylist.bat:
echo off
cd C:RAM
EmptyStandbyList.exe workingsets
EmptyStandbyList.exe standbylist
exit
Сохраняем батник по адресу:
C:RAMemptylist.bat
Если запустить батник под администратором, то память очистится:
У меня эффект очистки слабо виден, но когда 1С забивает всю память, то ступенька круче.
Теперь создаём в Планировщике (Task Scheduler) новую задачу, которая каждый день в 7 утра будет запускать наш батник от имени локального администратора сервера.
Современные операционные системы ветки Виндовс оснащены функцией кэширования данных. Это ускоряет загрузку программ и упрощает работу ПК. Но когда кэш забит, начинаются проблемы: виснет браузер, игры и приложения долго запускаются и могут вылетать. Чтобы такого не случалось, нужно знать, как отключить кэширование оперативной памяти или очистить кэш в Windows 10.
Как убрать кэширование оперативной памяти Windows 10
Чем шире объем запоминающего устройства, там резвее работает компьютер. И, соответственно, тем больше программ в фоновом режиме могут функционировать без каких-либо проблем.
Тем не менее, при работе с некоторыми их них кэш нужно отключать или обнулять. В противном случае возможна потеря информации, сбои системы или оборудования. Забитый кэш негативно сказывается на производительности ПК, особенно когда места уже нет, а процесс сжатия продолжается. Чтобы не рисковать программным обеспечением, нужно своевременно решать данную проблему.
Средствами ОС
Самый простой способ — это использовать специальные системные утилиты, которые очистят кэш ОЗУ.
- При помощи комбинации клавиш «Win+R» вызвать окно «Выполнить».
- Ввести в поле окна адрес C:\windowssystem32rundll32.exe.
- Если Виндовс имеет битность х64, то адрес меняется: C:\windowsSysWOW64rundll32.exe.
- Проверить данные и кликнуть «ОК».
- Утилита закроется, но будет работать на фоне, то есть без каких-либо окон и полей. Спустя 10-15 минут кэш будет обнулен.
Чтобы полностью отключить функцию сжатия данных на диск, нужно будет произвести другую операцию:
- Кликнуть на значок моего компьютера правой кнопкой мышки, далее выбрать пункт «Свойства».
- Открыть вкладку с оборудованием, отыскать Диспетчер устройств.
- Открыть папку «Дисковые накопители».
- Выбрать необходимый накопитель, щелкнуть правой кнопкой на него опять, выбрать также «Свойства».
- Переключиться в раздел политики.
- Убрать галочку в поле «Включить кэширование записи», нажать «ОК».
Перезагрузка ПК
Этот вариант для тех, кто не хочет копаться во внутренних алгоритмах и заморачиваться с поиском необходимых функций. Элементарная перезагрузка компьютера спасет положение. Во время нее на некоторое время обесточивается модуль RAM, что стирает сжатые данные из ОЗУ. Тем не менее, злоупотреблять им не стоит, поскольку частая перезагрузка в полном функционале негативно сказывается не только на скорости работы системы, но и на «железной начинке».
ATM
Когда стандартные методы не помогают, остается прибегнуть к стороннему решению, например, к программе ATM:
- Скачать приложение по ссылке http://www.tmurgent.com/Tools/ATM/Default.aspx.
- Распаковать архив и открыть папку со значением х86(х32).
- 2 раза щелкнуть на файл exe.
- Откроется окно с программным кодом. В самом низу окна найти 2 кнопки – «Flush Cache WS» и «Flush All Standby» – и нажать их именно в такой последовательности.
RAMMap
Другая программа выступает детищем самого «Майкрософта», который борется с проблемой утечки данных ОЗУ в кэш.
- Скачать приложение https://docs.microsoft.com/en-us/sysinternals/downloads/rammap.
- Установка не требуется, нужно открыть один из корневых файлов.
- В открывшемся окне вверху открыть вкладку «Empty» и выбрать «Empty Standby List».
- Результат можно проверить через вкладку «Производительность», открыв Диспетчер задач.
Возможные проблемы
Во время отключения или очистки кэша можно столкнуться с:
- Ошибками, когда программа не может найди диск, на котором следует отключить эту функцию. Решение: переустановить ее из другого источника.
Кэш не очищается по причине открытых программ. Решение: закрыть все лишнее и попробовать снова.
Вам помогло? Поделитесь с друзьями — помогите и нам!
В одной из наших прошлых статей мы коснулись такого аспекта работы RAM как аппаратно зарезервированная память, объём которой можно посмотреть в Диспетчере задач, переключившись на вкладку «Производительность» и выбрав слева блок «Память». Так вот, помимо этой самой зарезервированной памяти там имеются и другие данные о работе ОЗУ, которые могут вызвать у пользователя вопросы. Например, что такое кэшированная память в Диспетчере задач, почему она иногда занимает так много места, можно и нужно ли предпринимать какие-либо меры с целью её уменьшения?
Такие разные кэши
Перед тем как приступать к разбору обозначенного вопроса, следует сказать о том, что кэши бывают разные. Есть всем известный браузерный кэш — каталог файловой системы, в котором веб-обозреватели хранят временные данные; не менее известным типом кэша является располагающийся на физическом жёстком диске файл подкачки, в который система сбрасывает непомещающиеся в оперативную память данные; существуют и так называемые промежуточные кэши, например, служащая буфером между ОЗУ и центральным процессором кэш-память, реализованная в виде высокоскоростной микросхемы SRAM. Рассмотрим принцип её работы чуть более подробно.
Что такое кэш процессора, и как он работает
Когда ЦП обращается к оперативной памяти, чтобы считать или записать в неё данные, он сначала идентифицирует ячейку, с которой собирается работать. Для этого он формирует и отправляет в память запрос, RAM же его обрабатывает и открывает доступ процессору к хранящимся в соответствующей ячейке данным. Эта процедура занимает некоторое время, а поскольку процессор гораздо шустрее оперативной памяти, он вынужден ждать ответа от ОЗУ. Чтобы ускорить получение процессором данных из оперативной памяти, была придумана так называемая быстрая оперативная память, или иначе кэш-память.
Таким образом, кэшированная память сокращает время отклика и повышает общую производительность компьютера. Соответственно, чем больше у вас на компьютере такой памяти, тем быстрее он должен работать. Тут, наверное, у многих из наших читателей возникнет такой вопрос: если быстрая память так хороша, почему ею не заменяют обычную оперативную память? Ответ прост — всё дело в цене, кэш-память намного дороже обычной памяти, поэтому она используется в ограниченных объёмах.
Однако мы увлеклись, вернёмся к нашему вопросу, вернее к той кэшированной памяти, которую может обнаружить у себя в Диспетчере задач каждый пользователь.
Кстати, сведения об этой памяти указаны также в оснастке «Монитор ресурсов», в котором она обозначена секцией синего цвета «Ожидание». По сути, кэшированная память представляет собой часть свободной оперативной памяти, выделенной под неиспользуемые данные наиболее приоритетных процессов.
В то же время кэшированная память не привязана жёстко к данным процессам, поэтому её страницы могут быть использованы для записи других, менее приоритетных процессов. Убедиться в этом вы можете сами, открыв пару десятков вкладок в браузере. Вы увидите, что объем доступной кэшированной памяти сразу станет меньше, а всё потому, что зарезервированные страницы были переданы браузеру для записи в них данных вкладок. Из этого следует, что беспокоиться вам нужно не о увеличении размера кэшированной памяти, а скорее наоборот — об уменьшении доступного объёма кэша при отсутствии свободной памяти, выделенной в Мониторе ресурсов голубым цветом.
Нужно ли очищать кэшированную память
Особой нужды в очистке кэшированной памяти нет, более того, постоянная принудительная её очистка может привести к неравномерной нагрузке процессора, более частому обращению к файлу подкачки и общему снижению производительности. Исключения составляют те случаи, когда вы точно установили связь между увеличением объёма кэшированной памяти с падением производительности, что иногда бывает в играх. Тогда на собственный страх и риск вы можете включить очистку кэша оперативной памяти.
Очистка кэшированной памяти в RAMMap и EmptyStandbyList
Самый простой способ обнулить кэш оперативную память — это воспользоваться бесплатной тулзой RAMMap, разработанной одним из сотрудников Microsoft Марком Руссиновичем. Утилита не требует установки, чтобы очистить в ней память, выберите в главном меню Empty → Empty Standby List. Объем кэшированной памяти тут же уменьшится в несколько раз, но уже через несколько минут система опять её зарезервирует.
Также вы можете воспользоваться такой утилитой как EmptyStandbyList, работающей по тому же принципу что и функция Empty Standby List в утилите RAMMap. В отличие от RAMMap, тулза EmptyStandbyList не имеет графического интерфейса, чтобы очистить с её помощью кэшированную память, достаточно просто запустить исполняемый файл. Естественно, через некоторое время кэш снова будет заполнен, если вы хотите это предотвратить, в Планировщике заданий вам нужно создать задачу, которая станет запускать исполняемый файл EmptyStandbyList.exe каждые 2, 3, 5, 10 или сколько вам нужно минут.
Откройте Планировщик командой taskschd.msc, справа нажмите «Создать» задачу
и выставьте настройки как показано на скриншоте. Обратите внимание, что в качестве пользователя мы указываем Систему, тогда как по умолчанию задание будет выполняться от имени учётной записи администратора. В условиях запуска (триггеры) указываем интервал между запусками задачи, на вкладке «Действия» указываем путь к исполняемому файлу утилиты. Сохраняем задание и проверяем его работу.
Использовать этот трюк или нет, решать вам. Если вы наблюдаете чрезмерное заполнение RAM-кэша, сопровождающееся снижением производительности в играх или при работе с «тяжёлыми» приложениями, пробуйте, в остальных случаях особого смысла в очистке кэша памяти мы не видим.
- Статус темы:
-
Закрыта.
Страница 1 из 2
-
Если кто-то знает более подробную информацию о влиянии standby memory на клиент BnS — просьба дополнить или исправить информацию в посте.
На Win10 столкнулся с проблемой увеличения standby memory, которая потребляла неприемлемый для меня объем ОЗУ. В конечном итоге решил проблему так:
1. Скачал https://wj32.org/wp/software/empty-standby-list/, положил в windows/system32/
2. На рабочем столе сделал .bat такого содержания::loop echo Clearing... EmptyStandbyList.exe standbylist timeout 60 cls goto loop
3. сделал ярлык на этот батник, указав запуск от имени администратора.
4. запустил ярлык и оставил работатьКак результат — очистка standby memory каждую минуту и увеличение свободной ОЗУ для использования клиентом.
Прошу выразить ваше мнение по поводу такого программного решения, указать «за» и «против».
-
цикл очистки с таким диапазоном времени — не слишком сурово?
в целом идея интересная, но с ручным запуском раз в несколько загрузочных экранов.
плюс в некоторых случаях, в зависимости от параметров ос, окно командной строки может выскакивать поверх клиента, на секунду блокируя управление, что не есть хорошо.
если ставить автоматику, как насчёт варианта вместо батника использовать планировщик заданий Windows с соответствующим расписанием? -
— по поводу минуты, да, возможно слишком быстро, в оригинале было 3000 сек, вроде, но так как у меня обычно на фоне работает 2-3 программы, то standby довольно быстро заполняется. Сейчас при тесте за 5 минут заняло 274МБ standby memory (не много, возможно 1 мин и слишком быстро)
— что до блокировки управления, то не замечал, но теперь постараюсь это проверить
— по поводу планировщика заданий, только что попробовал: к сожалению как раз он выбивает на экран на долю секунды окно этой консольной программы и блокирует управление.XML файл не могу приложить, но его код прилагаю на всякий случай — может я что-то не так в задании настроил.
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2019-02-23T16:15:15.4699339</Date> <Author>DESKTOP-62A476Dwellzar</Author> <URI>clear_standby_memory</URI> </RegistrationInfo> <Triggers> <LogonTrigger> <Repetition> <Interval>PT5M</Interval> <StopAtDurationEnd>false</StopAtDurationEnd> </Repetition> <Enabled>true</Enabled> </LogonTrigger> <TimeTrigger> <Repetition> <Interval>PT5M</Interval> <StopAtDurationEnd>false</StopAtDurationEnd> </Repetition> <StartBoundary>2019-02-23T16:16:36</StartBoundary> <Enabled>true</Enabled> </TimeTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>S-1-5-21-1025916938-1519157191-228431885-1001</UserId> <LogonType>InteractiveToken</LogonType> <RunLevel>HighestAvailable</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> <AllowHardTerminate>false</AllowHardTerminate> <StartWhenAvailable>true</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession> <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT0S</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <Command>C:WindowsSystem32EmptyStandbyList.exe</Command> <Arguments>standbylist</Arguments> </Exec> </Actions> </Task>
-
Поставил опцию «Скрытая задача», но всё равно окно появилось на долю секунды
-
да многие хайды так делают, хз чего тут. оно не совсем годно для этого.
а нельзя то же само, не в бат а vbs?
-
хмм, а если через одно место костыль?
делаем vbs-скрипт типа
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:EmptyStandbyList.cmd" & Chr(34), 0 Set WshShell = Nothing
куда вписываем батник на запуск EmptyStandbyList.exe с нужными параметрами типа
@echo OFF EmptyStandbyList.exe standbylist cls
соответственно, в планировщик суём скрипт бейсика и радуемся отсутствию всяких чёрных окон.
или немного более ровный скрипт без батника
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & ""C:EmptyStandbyList.exe" -standbylist" & Chr(34), 0 Set WshShell = Nothing
как-то так..
-
спасет ли этот костыль от краша клиента при достижении критической массы в 3,5гб?
-
хаааа. не знаю. думаю некоторые отдельные случаи может предотвратить, но в большинстве так и останется. у нас ещё капризный клиент-сервер в анриле
-
3.8Гб сейчас
Вложения:
-
11.PNG
- Размер файла:
- 6,1 КБ
- Просмотров:
- 28
-
-
«критическая масса» индивидуальна для каждого компа в зависимости от ос, свободной оперативки, кешированных данных в оперативке, размера свопа и количества скинутых в своп данных.
клиент может как в три с половиной кирдыкнуть, так и разросшись до восьми с лишним нормально курлыкать. -
хотел прикрепить работающий vbs к теме, но я не могу заставить его работать
Вложения:
-
12.PNG
- Размер файла:
- 10,3 КБ
- Просмотров:
- 18
-
-
хмм, ну я не особо в эти скриптах, просто указал как пример, скопировав содержимое одного из своих, заменив имена и команду.
можно поискать кого-то в этом разбирающегося, чтобы отполировать.
может, там надо дописать строку с указанием целевой папки… -
я про х32, у меня он стабильно крашит после ~3 часов, вероятно из-за утечек
-
так и посмотри, есть ли) откуда ж знать
-
Юзаю с Бнс 64бит, 8Гиг ОЗУ, своп откл.
Эту совтину: https://www.henrypp.org/product/memreduct
У себя заметил положительный результат + кушает копейки. -
Да лан кушает, там нечему разроразраст просто.
-
Я имею ввиду прога памяти мало занимает, да и работает по своему.
Прост осмотрел другие подобные — те просто в памяти разжираются.
В общем не знаю — у меня результат с ней положительный. -
не очень понимаю что дает Вам очистка SM? Вы просто выкидываете из памяти кеш файлов клиента игры… и при смене локации, клиент будет их зачитывать с диска а не из памяти оперативной
-
Если сборщик мусора работает корректно и С+пейсатели не накосячили с указателями, то очистка ничего не даст. Но с бнс лучше держать оперативу именно свободной, тем более, что новые данные клиент будет тянуть с диска в любом случае — ивент, дч, рейды и пр.
З.Ы. А реверс-инжиниринг наказуем
Страница 1 из 2
- Статус темы:
-
Закрыта.