Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Оптимизация ОС _ Большая оптимизация памяти.

Автор: pan Суббота, 05 Февраля 2005, 19:41

Автор публикации: Дмитрий Поленур | Источник материала: www.mycomp.com.ua/

Если среди наших читателей провести опрос "Хотите ли вы увеличить объем памяти, установленный на вашем компьютере?", большинство ответит утвердительно (ибо человеку всегда хочется больше, чем он имеет). Однако что же делать, если не хватает не только памяти, но и денег? Ответ прост: попытаться наилучшим способом использовать то, что есть! В этой статье мы обсудим, как рационально распределить память под Windows 98.
Итак, начнем с того, что не будем грузить в память все подряд. Попробуйте после загрузки Windows нажать комбинацию клавиш Alt+Ctrl+Del, и вы увидите список активных задач. Кроме стандартных Explorer, Internat (если установлены несколько раскладок клавиатуры) и Systray, обычно присутствуют и другие процессы: резидентные части антивирусов, программы для регулировки звука, различные "напоминалки", Task Scheduler, ICQ и т.д. Они занимают определенный объем памяти, и не лучше ли запускать их по мере надобности? Наверняка найдется парочка программ, от постоянной работы которых можно отказаться.
Теперь сделаем так, чтобы "лишние" программы не запускались автоматически при старте Windows. Для начала нажмем кнопку Start ("Пуск") на "Панели задач" и зайдем в папку ProgramsStartUp ("ПрограммыАвтозагрузка"). Удаляем оттуда все лишнее (первые кандидаты на изгнание - файлы, появившиеся после установки Microsoft Office: они занимают довольно большой объем памяти, а пользы - практически никакой). Чтобы удалить ярлык, достаточно щелкнуть на нем правой клавишей мыши и в открывающемся меню выбрать пункт Delete ("Удалить"; таким образом вы не удаляете программу, а просто отказываетесь от ее автоматического запуска после загрузки Windows). На всякий случай можно перетащить ярлыки в отдельную папку, чтобы потом легко вернуть их обратно. Однако этот способ применим далеко не ко всем программам. С остальными (их автозапуск прописан в) системном реестре справляемся так: после нажатия кнопки Start ("Пуск") на "Панели задач" выберите меню Run ("Выполнить") и введите msconfig. Запустится System Configuration Utility ("Программа настройки системы"). Далее нужно выбрать закладку Startup ("Автозагрузка") и просто удалить галочки с программ, от автозагрузки которых вы хотели бы отказаться. Не стоит убирать галочки с inernat.exe (переключателя раскладок клавиатуры, занимающего очень мало памяти), TaskMonitor, SystemTray (данные процессы необходимы для нормальной работы Windows). Также не следует отключать программы, которые после выполнения задания не остаются в памяти (т.е. после нажатия Alt+Ctrl+Del их нет в списке процессов),- например, LoadPowerProfile или ScanRegistry. Остальные же смело можете отключать: если понадобится, вы включите их, просто установив галочку.
Часть ОЗУ "съедает" дисковый кэш. По умолчанию память для него выделяется динамически, в зависимости от выполняемых в данный момент задач (то есть при интенсивном обращении к жесткому диску памяти дается больше, и наоборот, если какому-либо процессу не хватает памяти, размер дискового кэша уменьшается). Однако часто Windows выделяет под кэш свыше половины всей оперативной памяти, что приводит к существенному замедлению остальных процессов (чтобы освободить память под кэш, Windows может даже переместить некоторые задачи в swap). Проще говоря, во время интенсивной работы с жестким диском заниматься чем-нибудь еще практически невозможно. А потому бывает полезно ограничить максимальный размер дискового кэша. Это довольно просто: нужно открыть в любом текстовом редакторе файл system.ini (он находится в директории Windows), найти строку [vcache] и сделать после нее соответствующую запись.
Для систем с 16 Мб ОЗУ рекомендуется вписать следующее:
minfilecache=2048
maxfilecache=2048
Как вы уже, наверное, догадались, параметр minfilecache определяет минимальный размер дискового кэша в килобайтах, а maxfilecache - максимальный.
Для 32 Мб можно предложить два "крайних" варианта настроек:
minfilecache=2048
maxfilecache=4096
либо
minfilecache=2048
maxfilecache=8192
Второй вариант обеспечивает более быструю работу с диском, однако отбирает больше памяти у других процессов.
Для 64 Мб установите
minfilecache=2048
maxfilecache=8192
или же
minfilecache=4096
maxfilecache=16384
Для 128 Мб можно использовать
minfilecache=8192
maxfilecache=16384
или
minfilecache=8192
maxfilecache=32768
При
minfilecache=16384
maxfilecache=16384
Windows не будет "дергаться" в поисках оптимального размера кэша.
Если же объем памяти на вашей машине превышает 128 Мб, лучше установить фиксированный объем кэша - например,
minfilecache=32768
maxfilecache=32768
Можно и меньше. Устанавливать кэш больше 32768 не имеет смысла, если, конечно, вы не собираетесь использовать свой ПК в качестве сервера.
Вероятно, вы заметили, что все приведенные значения являются степенями двойки. На самом деле, это условие не является обязательным: можно устанавливать и промежуточные значения, однако все же желательно, чтобы они были кратны 2048. То есть, помимо перечисленных,- 6144, 10240, 12288, 14336, 18432 и т.д. Не бойтесь экспериментировать, ведь вы всегда сможете вернуться к предыдущим значениям!
Для примера приведу отрывок из своего system.ini (у меня 64 Мб):
[vcache]
minfilecache=4096
maxfilecache=12288
chunksize=512
namecache=2048
directorycache=64
Кратко поясню значение последних трех параметров. Windows разбивает кэш на "кусочки" (chunk), размер которых и определяет параметр chunksize. Если сделать их слишком маленькими - уменьшится скорость работы с кэшем, слишком большими - кэш будет расходоваться неэкономно. Если значение параметра maxfilecache установлено в диапазоне 6144-16384, рекомендуется chunksize=512; при меньшем maxfilecache попробуйте chunksize=256, при большем - chunksize=1024.
Параметры namecache и directorycache определяют соответственно количество файлов и директорий, отслеживаемых Windows. Для namecache лучше устанавливать кратные 512 числа в диапазоне от 1024 до 2600 (больше имеет смысл только для файл-серверов). Для directorycache следует выбирать кратные 16 в диапазоне 32-96. Конкретные значения namecache и directorycache зависят от используемых на данном компьютере приложений.
Если вы захотите вернуться к значению по умолчанию, просто удалите строку с нужным параметром из system.ini. Кстати, для редактирования system.ini можно воспользоваться уже упоминавшейся System Configuration Utility ("Программой настройки системы") - там есть соответствующая закладка. В данном случае удалять строки не нужно - достаточно просто снять галочку.
Мы уже проделали большую работу по оптимизации системы, но не будем останавливаться на достигнутом и посмотрим, где же еще можно сэкономить память.
Многие люди любят украшать свой "Рабочий стол" различными картинками. Однако не все знают, что это может снизить производительность компьютера. Например, картинка с разрешением 1024х768 в 16 bit color "отъедает" около 2 Мб драгоценной оперативной памяти (размер самого файла с картинкой и графический формат роли не играют). Часто бывает еще хуже: берут изображение 1600х1200 в 32 bit и помещают как фон при помощи функции Stretch (в русской версии - "Растянуть", хотя картинка, наоборот, сжимается до размеров экрана), а потом удивляются - почему это их система так тормозит! Если вы уж никак не можете обойтись без картинки - устанавливайте изображение с разрешением, не превышающим экранное, и в 8 bit color (256 цветов). Если же ваша любимая картинка сделана в высоком разрешении и 16 или 32-битовом цвете, поможет хорошая программа для работы с графикой, "умеющая" переделывать изображение в восьмибитовое с минимальной потерей качества. Изменить разрешение картинки тоже не составит большого труда.
Немного памяти можно сэкономить, отредактировав msdos.sys (скрытый файл, обычно находящийся в корневом каталоге диска С:). Находим в нем [Options] и добавляем необходимые строки.
Если у вас нет SCSI-устройств, смело вписывайте
doublebuffer=0
Если вы не используете сжатых с помощью DoubleSpace или DriveSpace дисков, то можете добавить еще две строки:
dblspace=0
drvspace=0
Таким образом, в память не будут грузиться ненужные драйверы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)