vladislav
Спасибо за понимание, могу сказать, что суть проблемы понята на 100%.
Цитата:
vladislav:
Вот мои данные:
|
А вот мои:
[Cache info]
Intel Pentium IV | 2.8 Ггц | 2048 ОЗУ | SATA
Size Disc: 2048 MB Memory: 65536 Kb
Used 1582.87 MB (77.29%)
Цитата:
vladislav:
Очень глубокая мысль
|
Мысль действительно глубокая, и, судя по всему, единственно правильная, ибо к этому выводу я пришел, и работы в подборе оптимальных параметров уже ведутся.
А теперь вернусь к нашим баранам.
Признаться, я покривил душой, сказав, что меня сильно уж беспокоит 99%-я загрузка процессора. На самом деле всё обстоит несколько иначе. Просто я не надеялся на понимание и потому выдал информацию несколько обобщенной. Если поподробнее, до дела обстоят так: помимо самого Керио на машинке запущена еще одна служба, работающая в фоновом режиме. Служба, надо сказать, весьма специфическая, как, собственно, и режим ее работы: Base Priority = Low; CPU usage = 99%. Таким образом, System Idle Process у меня всегда 0%. А теперь, вот что происходит:
Вариант 1: если эта моя служба
не запущена, то когда у Керио наступает 98% заполненность кеша, и, соответственно, приходит время чистить кеш, он начинает активно это делать, при этом CPU usage вырастает до 99%, Process priority у него и так High, так что за 20-30 секунд все успешно завершается.
Вариант 2: если эта моя служба
запущена, то когда у Керио наступает 98% заполненность кеша, и, соответственно, приходит время чистить кеш, он начинает пытаться это сделать, но по необъяснимым причинам проигрывает службе в конкуренции за процессорное время. У Керио не получается вытеснить эту службу и получить необходимую квоту процессорного времени для своих нужд. В результате, не смотря на разницу в Process priority, Керио работает с 1% Process usage и соответственно, Garbage collection длится очень долго. Компьютер при этом не "висит", но клиенты не могут получить полноценный доступ в интернет - керио не пускает. И это может длиться очень долго. Судя по логам, один раз GC выполнялась более 10 часов (удя по логам. правда происходило это в воскресенье). Вот и получается, что, так называемая "вытесняющая многозадачность" не работает в связке Керио + моя служба. Естественно, в первую очередь я стал грешить на эту самую службу, но многочисленные эксперименты показали, что все остальные программы, кроме Керио, вполне успешно конкурируют с ней за процессорное время. При запуске любой программы, требующей минимального процессорного времени, использование процессора моей службой сразу же падает до 0-1%. В случае с Керио этого не происходит. Мое глубокое уважение к продуктам Керио не позволяют мне называть это багом Керио, назову это его недокументированной особенностью. Для решения моей проблемы существует, как мне кажется, по крайней мере, два выхода: 1-й - сообщить в керио о такой странности в поведении керио. По совокупности причин этот вариант наименее приемлем. 2-й - раз в сутки (или реже) останавливать службу, запускать в керио уборку мусора и стартовать службу заново. 3-й вариант (разновидность 2-го) запускать уборку мусора по выходным, когда никто через прокси в инете не сидит. Именно поэтому я и пытаюсь разузнать, как можно принудительно инициировать уборку мусора в кеше. Если мне не изменяет память, то однажды у меня перед глазами проскакивала такая информация, и даже пробовал это сделать, но это было так давно, а память у меня настолько короткая, что вспомнить когда и как это было не предлставляется возможным. Поэтому, буду премного благодарен, если кто-либо располагает этой инфой.
Если честно, я не надеюсь получить сколь-нибудь ощутимых результатов, изменяя TTL и размер кеша, ибо всё равно это будет занимать довольно продролжительное время. Повторюсь, во время уборки мусора работа с прокси невозможна.
Спасибо всем.