выражениям.

Вот несколько примеров:


SunOS



Измените значение nfile в /usr/kvm/sys/conf.common/param.c
меняя значения в этом выражении:



int nfile = 16 * (NPROC + 16 + MAXUSERS) / 10 + 64;

Где NPROC определяется как:

#define NPROC (10 + 16 * MAXUSERS)

FreeBSD (начиная с ядра 2.1.6)



Очень похоже на SunOS, отредактируйте /usr/src/sys/conf/param.c
вычислив соотношение между переменными maxusers, maxfiles
и maxfilesperproc:



int maxfiles = NPROC*2;

int maxfilesperproc = NPROC*2;

Где NPROC задан как:

#define NPROC (20 + 16 * MAXUSERS)

Ограничение числа дескрипторов на процесс также может быть задано в
конфигурации ядра этой директивой:

options OPEN_MAX=128

BSD/OS (начиная с ядра 2.1)



Поправьте /usr/src/sys/conf/param.c и задайте maxfiles
в соответствии с:



int maxfiles = 3 * (NPROC + MAXUSERS) + 80;

Где NPROC задан как:

#define NPROC (20 + 16 * MAXUSERS)

Также следует задать значение OPEN_MAX, чтобы изменить ограничение
числа дескрипторов на процесс.

Замечание: После пересборки ядра необходимо откомпилировать заново
Squid. Конфигурационный скрипт Squid'а определяет сколько файловых дескрипторов
доступно, так что надо запустить скрипт заново. Например:
љљљ cd squid-1.1.x
љљљ make realclean
љљљ ./configure --prefix=/usr/local/squid
љљљ make



7.5 Мой squid периодически вываливается с ошибкой,
что не может malloc(3) больше памяти, но у меня достаточно ОЗУ!


Кроме ограничения на число файловых дескрипторов, многие системы имеют
ограничение на количество памяти, выделяемое процессу, в особенности не-root
процессам. BSD/OS имеет довольно низкий предел, который Вы можете увеличить.
Измените файл конфигурации ядра, добавив эти строки:
optionsљљљљљљљљ DFLDSIZ=67108864љљљљљљљ # 64 meg default max data size (was 16)
optionsљљљљљљљљ MAXDSIZ=134217728љљљљљљ # 128 meg max data size (was 64)

Пересоберите ядро и перезагрузите машину.љ<!-- From: Ong Beng Hui ongbh@zpoprp.zpo.dec.com -->

В Digital UNIX, отредактируйте файл /etc/sysconfigtab и добавьте
строку...

proc:
љљљљљљљ per-proc-data-size=1073741824

Или, в csh, используя команду limit ...

zpoprp.zpo.dec.com> limit datasize 1024M

Редактирование /etc/sysconfigtab требует перезагрузки, а команда
limit - нет.


7.6 Что за странные строки об удалении объектов?


Например:
97/01/23 22:31:10| Removed 1 of 9 objects from bucket 3913
97/01/23 22:33:10| Removed 1 of 5 objects from bucket 4315
97/01/23 22:35:40| Removed 1 of 14 objects from bucket 6391

Обычные строки log файла, но они не значат, что squid достиг cache_swap_high.

На странице cache information вcachemgr.cgi найдите строку типа
этой:

љљљљљљ Storage LRU Expiration Age:љљљљ 364.01 days

Объекты, которые не использовались данное количество времени, удаляются
как результат регулярных работ. Вы можете задать собственное значение LRU
Expiration Age
при помощи reference_age в конфигурационном
файле.


7.7 Почему я не могу задать cache_effective_user
в nobody под Linux?


Несколько пользователей сообщали, что они не могут задать cache_effective_user
в nobody под Linux и сервер сообщает:
FATAL: Don't run Squid as root, set 'cache_effective_user'!

Однако, если установить cache_effective_user не в nobody,
то все ОК. Первое решение, это создать пользователя для Squid и установить
для него cache_effective_user.

Также можно поменять UID nobody с 65535 на 65534.


7.8 Могу я указать Windows NT FTP серверу выводить директории
в Unix формате?


Почему бы и нет! Выберите следующие пункты меню:


  • Start



  • Programs



  • Microsoft Internet Server (Common)



  • Internet Service Manager


Дважды щелкните на ftp.

Дальше надо выбрать сервер (должен быть только один), потом выберите
"Properties" из меню, закладку "directories", будет опция "Directory listing
style." Выберите "Unix" type, а не "MS-DOS" type.


--Oskar Pearson <oskar@is.co.za>



7.9 Почему так часто появляются сообщения ERR_NO_CLIENTS_BIG_OBJ?


Это значит, что запрашиваемый объект находился в режиме "Удалить позже"
и пользователь отказался от передачи. Объект попадет в режим "Удалить позже"
если он:


  1. больше, чем maximum_object_size



  2. доставлен с соседнего кеша, у которого установлена опция proxy-only.




7.10 Почему Squid требует так много памяти!?


Squid потому такой быстрый и может обрабатывать одновременно несколько
запросов, что использует много памяти. Для начала, просмотрите эти разделы
FAQ:

Также можно повысить производительность линкуя Squid с внешней malloc библиотекой.
Мы рекомендуем:


  • GNU Malloc, доступной на ftp://ftp.gnu.ai.mit.edu/pub/gnu/malloc.tar.gz.
    Проверка на 'libgnumalloc.a' включена в конфигурационный скрипт Squid'а.
    Если libgnumalloc.a найдена, то автоматически подлинковывается.




http://www.nlanr.net/Cache/ICP/ICP-id.txt.

ICP прежде всего используется в иерархии кешей для поиска определенных
объектов в братских кешах. Если squid не находит нужного документа, то
посылает ICP запрос братским кешам, которые в свою очередь отвечают ICP
ответами "HIT" ("попадание") или "MISS" ("промах"). Затем кеш использует
ответы для выбора при помощи какого кеша разрешать свои ответы MISS.

ICP также поддерживает сложные передачи множества объектов через одно
TCP соединение. ICP сейчас работает поверх UDP. Текущие версии Squid также
поддерживают множественные запросы ICP.


http://squid.nlanr.net/Squid/Devel/todo.html.

Разработчикам будущих версий следует обратиться сюда http://squid.nlanr.net/Squid/Devel/.


http://www.nlanr.net/NA/.


http://www.greatcircle.com/firewalls/љ



$Id: footer,v 1.3 1997/03/13 16:19:52 wessels Exp $