- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Поиски в гугле пока не привели к результату. Проблема такая, имеется сервер CentOS 5.1, Apache/1.3.39 (Unix) PHP/5.2.4 mod_ssl/2.8.30 OpenSSL/0.9.8b. Сегодня дважды упал апач, в логах написал:
[Tue Dec 25 19:34:29 2007] [error] Bad pid (9112) in scoreboard slot 17
[Tue Dec 25 19:34:30 2007] [error] Bad pid (9112) in scoreboard slot 17
[Tue Dec 25 19:34:30 2007] [notice] caught SIGTERM, shutting down
Кто встречался с проблемой, расскажите, как поличить?
Заранее спасибо.
Здравствуйте.
Поиски в гугле пока не привели к результату. Проблема такая, имеется сервер CentOS 5.1, Apache/1.3.39 (Unix) PHP/5.2.4 mod_ssl/2.8.30 OpenSSL/0.9.8b. Сегодня дважды упал апач, в логах написал:
Кто встречался с проблемой, расскажите, как поличить?
Заранее спасибо.
I think this is the problem: When a child is reaped normally after
exiting due to MaxSpareServers or MaxRequestsPerChild, it remains in
the scoreboard with status set to SERVER_DEAD, and it is removed from
the pid table.
Often that slot will be reused by a child created subsequently.
If it is never reused before termination or hard restart,
reclaim_child_processes() will see it in this code and complain that
it isn't in the pid table:
for (i = 0; i < max_daemons_limit; ++i) {
int pid = ap_scoreboard_image->parent.pid;
if (pid == my_pid || pid == 0)
continue;
if (!in_pid_table(pid)) {
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, server_conf,
"Bad pid (%d) in scoreboard slot %d", pid, i);
continue;
}
But it doesn't need to complain if the child is in the scoreboard with
state SERVER_DEAD, since that means it exited previously and is out of
the pid table.
Here's a hack to look out for that situation:
if (!in_pid_table(pid)) {
- ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, server_conf,
- "Bad pid (%d) in scoreboard slot %d", pid, i);
+ /* Report an error if the scoreboard state for this child is
+ * something besides SERVER_DEAD or if we can't find the
+ * child slot.
+ *
+ * It is okay to find it with state SERVER_DEAD. The child
+ * exited normally, the state was set to SERVER_DEAD, and we
+ * didn't subsequently reuse that scoreboard slot for another
+ * child.
+ */
+ int child_slot = find_child_by_pid(pid);
+
+ if (child_slot < 0
+ ||
ap_scoreboard_image->servers[child_slot].status != SERVER_DEAD) {
+ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR,
server_conf,
+ "Bad pid (%d) in scoreboard slot %d", pid, i);
+ }
+ else {
+ ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR,
server_conf,
+ "avoided bad pid msg for %d;
child_slot %d, status %d",
+ pid, child_slot, child_slot >= 0 ?
ap_scoreboard_image->servers[child_slot].status : -1);
+ }
continue;
}
The "avoided bad pid" msg is just for debugging, of course.
This is perhaps not cool on whatever imaginary machines keep the
scoreboard in a file. I never fully grokked the sync-scoreboard-image
requirements.
:)
Кстати вторй апач будет производительней первого ;)
Кстати вторй апач будет производительней первого ;)
Знаю. Да вот переводить сервер на второй апач не хочется. В январе планирую на другую машинку переехать, там уже второй и поставлю.
Спасибо за советы :).