Владимир Горяев писал(а):load sys:\syb\dbsrv7.nlm -c 24M -n mysrv sys:\syb\bu2004.dbНе многовато ли 24M? Почти половина всей памяти.
Владимир Горяев писал(а):register memory более правильно в startup.ncf прописать. Лениво считать и навскидку не скажу, а register memory 1000000 3000000 точно для 64М?
Владимир Горяев писал(а):А еще мне очень не нравятся карты с драйвером 3C5X9. Кстати, сервер проподает в обоих сегментах?
Нет, эта команда может быть лишь в AUTOEXEC-е. Были даже TID-ы на тему того, как шаманить с этой командой, чтобы не фрагментировать память. Получалось так: AUTOEXEC.NCF штатно "живёт" в SYS:SYSTEM и становится доступен лишь после монтирования тома SYS, а на этот момент память уже каким-то образом распределена системой по пулам, в результате чего результат REGISTER MEMORY попадает лишь в один конкретный пул (а в случае большого тома SYS могут быть проблемы с тем, чтобы даже его смонтировать). Поэтому шаманство заключалось в выдаче команды REGISTER MEMORY до монтирования тома SYS и даже загрузки драйвера дискового контроллера путём переноса AUTOEXEC-а на DOS-овский раздел, а команды загрузки дискового драйвера - из STARTUP-а в AUTOEXEC (см, например, тут, хотя можно найти TID и поновее).Владимир Горяев писал(а):register memory более правильно в startup.ncf прописать.
Константин Ошмян писал(а):Нет, эта команда может быть лишь в AUTOEXEC-е.
Константин Ошмян писал(а):Поэтому шаманство заключалось в выдаче команды REGISTER MEMORY до монтирования тома SYS и даже загрузки драйвера дискового контроллера путём переноса AUTOEXEC-а на DOS-овский раздел, а команды загрузки дискового драйвера - из STARTUP-а в AUTOEXEC (см, например, тут, хотя можно найти TID и поновее).
Основная идея - вам нужно зарегистрировать всю память ДО загрузки дискового драйвера, точнее - до монтирования томов, иначе все FAT-таблицы будут строится в первых найденных 16-ти мегабайтах. В NW4.1x и новее такой проблемы просто нет, т.к. там команду "REGISTER MEMORY nn mm" можно вставлять в STARTUP.NCF.
Дальше я приведу пример со своим конкретными цифрами - сервер с ОЗУ 64 Мегабайта, диски - 5 Гигабайт.
1. В startup.ncf удаляются (комментируются) строки загрузки дискового драйвера:
;load AHA1520 port=340 int=B
set auto register memory above 16 megabytes = off
2. В ДОСОВСКОМ каталоге (c:\server.312) создается autoexec.ncf, содержащий как минимум шесть строк:
file server name NAME
ipx internal net 1999
register memory 1000000 3000000
load AHA1520 port=340 int=B
mount SYS
sys:system\autoexec.ncf
3. В обычном autoexec.ncf (который живет в SYS:SYSTEM) комментируются первые две обязательные строки:
#file server name NAME
#ipx internal net 1999
и строка с register memory:
#register memory 1000000 3000000
т.к. они уже есть в первом autoexec-е. Собственно, вот и весь рецепт - сервер стартует, до монтирования томов по умолчанию у него path указывает на каталог, откуда он запустился, т.е., на c:\server.312 (поэтому важно в autoexec.bat сделать CD \server.312, а не пускать его строкой типа c:\server.312\server.exe). Из текущего каталога сервер берет autoexec.ncf, где регистрируется вся память (у меня - 64Мб) ДО загрузки дискового драйвера, дальше грузим драйвер, монтируем SYS и вручную запускаем продолжение autoexec-а. Некоторые почему-то любят при этом SYS:SYSTEM\autoexec.ncf переименовать во что-нибудь типа autoboot.ncf, но я обычно делаю так, как описал выше - проблем с install -> Edit AUTOEXEC.NCF не будет.
Что же делать?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2