Win2K FAQ (v. 6.0) - страница 26

стр.

(3.22) У меня пусто в "Автозапуске", но некоторые программы продолжают стартовать при входе в Windows.

Проверьте следующую ветку реестра, используя regedit или regedt32: [HLKM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN]. Там находятся значения, каждое из которых соответствует одной запускаемой при старте программе. Если вы не уверены, перед стиранием сохраните выбранные строчки.

(3.23) Отключение подсистем POSIX и OS2.

POSIX является стандартом взаимодействия операционных систем, он включен в Windows 2000 по требованию правительства США, а подсистема OS2 нужна для запуска соответствующих приложений. Обычные пользователи вряд ли когда будут задействовать эти подсистемы, поэтому их лучше убрать для освобождения лишней памяти. Microsoft не предусмотрела легального пути удаления этих подсистем, поэтому следует удалить или переименовать необходимые файлы. Причем перед удалением следует либо отключить защиту файлов (Windows File Protection), либо стереть файлы и из каталога /system32/dllcache, а последующий запрос системы вставить диск с дистрибутивом проигнорировать. Следует удалить/переименовать следующие файлы из каталога /system32: OS2.exe, OS2SRV.exe, PSXSS.exe, OS2SS.exe и POSIX.exe.

Предупреждение: подсистема POSIX может потребоваться для некоторых программ из Resource Kit, если вы им пользуетесь, то лучше оставьте POSIX.

(3.24) Почему у Вас нет совета по оптимизации размера L2 кэша?

Довольно давно по сети ходит совет по оптимизации L2 кэша. Для этого советуют по адресу HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager добавить ключ SecondLevel DataCache, и присвоить ему значение равное количеству L2 кэша процессора. После этого, это значение загружается в переменную ядра MmSecondaryColors. По всей видимости, это подсказка алгоритму page coloring, который оптимизирует раздачу физических страниц процессам так, чтобы они не "толкались" в directly-mapped кэше. Однако, по информации Microsoft процессора P6 не имеют directly-mapped кэша, а значит, page coloring для них бессмыслен. Кроме этого, объём кеша легко узнаётся ОС по CPUID, для всех современных процессоров, так что практического смысла в выставлении этого параметра я не вижу никакого.

(3.25) Можно ли ввести машину в состояние hibernate, или выключить из командной строки?

Переход в спящий режим (hibernate):

%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState

Отключение: создаем в текстовом редакторе файл poweroff.vbs, содержащий:

>dim OpSysSet, obj

>Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonate," & _

> "(Shutdown)}//./root/cimv2").ExecQuery _

> ("SELECT * FROM Win32_OperatingSystem" &_

> " WHERE Primary=true")

>For Each obj In OpSysSet

> obj.Win32Shutdown(8)

>Next

В дальнейшем можно стартовать этот скрипт из командной строки или включить вызов в командный файл. Уже готовый скрипт при желании можно скачать здесь: http://www.chem.univ.kiev.ua/~adsh/win2k/soft/poweroff.php или здесь: http://www.adsh.kiev.ua/win2k/soft/poweroff.zip (Украина).

Отключение, перезагрузка, разрыв модемного соединения, Log-off, Lock, Stand By, Hibernate – все это можно сделать с помощью утилиты Switch Off (http://yasoft.km.ru/rus/switchoff/). GUI, поддержка командной строки, конфигурационный файл, удаленное управление через web-интерфейс – в 64 Кб!

Отключение, перезагрузку, Log-off, Hibernate, Suspend, пробуждение по таймеру – сделает для вас fShutdown (http://confignt.ixbt.com/shutdown.htm).

(3.26) Правда ли что W2k всегда загружает определённый набор dll, даже если они не используются?

Правда. Список этих DLL находится здесь:

>HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs

Теоретически, если Вы уберёте из этого списка лишнее, это может освободить некоторое количество памяти и ускорить работу. Практически, я бы не советовал. Зато можно добавить в этот список библиотеки, которые часто используются используемым именно Вами.

(3.27) Как сделать что бы задачи которые повисли и перестали отвечать убивались автоматически?

За это отвечает ключ HungAppTimeout, находящийся по адресу HKCU\Control Panel\Desktop. Значение этого ключа определяет время в миллисекундах, через которое не отвечающее приложение считается зависшим. Кроме этого ключа, в той же ветке есть ключи WaitToKillServiceTimeout, который задаёт время ожидания перед зависшей службы, и AutoEndTasks, присвоив которому значение 1, Вы разрешите системе убивать зависшие процессы самостоятельно. Не следует, только, ставить очень малые значения Timeout, иначе могут возникнуть проблемы с невовремя убитыми програмами и службами.