Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Как в Windows регулировать обмен со свопом (swappiness)? : Windows

28.03.2024 18:37


06.11.2013 08:31
student
 
Цитата:
OlegON Увы, это все мне известно, но не решает проблему агрессивного свопинга.
а как ты определил что у тебя именно своппинг?
м.б. это индексация поиска постоянно идет или как в ранних сигейтах головка практически постоянно паркуется, или mse при простое проца возбуждается или префетчер балуется или ...

при нынешней элементной базе процесс свопа и старта из свопа практически не заметен, если только на индикатор хдд не смотреть постоянно :) я везде устанавливаю размер своп файла принудельно и напостоянку в размерах 2-а размера озу и чтобы файлик был непрерывный - так у меня исторически сложилось

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

я например у себя в укмвин им (своппингом) очень часто пользуюсь - при старте и перед выполнением тяжелых запросов да и во многих др случаях при необходимости - делаю принудительный своп всего (всех запущенных процессов) в результате память высвобождается (причем значительно) и все быстренько быстренько именно в ней и отрабатывает :) особенно если все это делать совместно с увеличением приоритета собственной программы

единственный на мой взгляд минус в винде нет стандарной команды свопать все - приходится извращаться, но результат на мой взгляд оправдывается - иногда даже просто приходится запускать укмвин чтобы все свопнуть на ноуте :grin: - руки не доходят оформить все это отдельной программой, хотя там всего в пределах 20 строчек кода ...
06.11.2013 09:39
OlegON
 
Свопит - видно по обмену страницами в perfmon, да и задач не так много, чтобы понять, кто дерется... простоя проца как раз нет, да и многий мусор на серверной платформе, к счастью, отсутствует. свопфайл лучше делать фиксированного размера, это факт, сейчас у меня интерес сделать так, чтобы свопалась она исключительно в случаях нехватки памяти, а не заранее, оставляя побольше места для кеша или программ. в 2003 есть переключатель, тот самый LargeSystemCache, при котором чуть что - программа загоняется в своп в угоду кеша файлов (приоритет кеша перед программами или как-то так этот переключатель называется). Мне, для БД, это нафик не надо, поскольку у нее свой кеш есть, зато сама она в своп падать не должна. Но при работе архиватора или еще какой-то ресурсоемкой программы вместо падения этой программы должен начинаться своп. В Linux это делается с полпинка выставлением параметра vm.swappines=0. Для винды мы уже кучу сообщений написали и не решили пока. Она при каждом удобном случае начинает свопаться, даже не на предельных значениях занятой памяти.
06.11.2013 09:47
student
 
Цитата:
OlegON Она при каждом удобном случае начинает свопаться, даже не на предельных значениях занятой памяти.
:) а вот это уже от самой программы зависит - если при старте сразу выделить ей память со спец атрибутом то хрен ее в своп загонишь ... только никто практически это не юзает...
06.11.2013 10:22
OlegON
 
Кстати, параметры выше из Memory Management - для 2003, судя по течнету :(
Что касается "хрен загонишь", то это уход в сторону от темы, вот имеем, что имеем, базу, недоось и желание, чтобы она свопилась только в крайнем случае без переписывания программ без исходников. Пусть уходит в своп, но в крайнем случае, а не от балды. Пока все решения, которые удается гуглить, упираются в "отключите своп нахрен". Гениальная ОС, что тут скажешь...
06.11.2013 10:43
OlegON
 
вот тут есть описания кое-чего. Параметры не подписаны для 2008, но в ней они есть... Не пойму, каким образом теперь LargeSystemCache в интерфейсе правится...
Часовой пояс GMT +3, время: 18:37.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.