1

Переодически в 4 утра стал подвисать комп. подозрение на cron демона (все пользовательсике задания судя по логам он отрабатывает успешно еще до 2 ночи).
Но в 4 утра все наглухо зависает.

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

Линукс на базе mandriva вроде, но точно не знаю.

 Консоль:

#uname -a
Linux 2.6.9-89.0.23.EL

Уважаю мораль и амораль одинаково...

2

brullek пишет:

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

dmesg
/var/log/messages
/var/log/*

It is good day to die ...
MS Windows 10
Заметки о главном...

3

Просмотрел, ни чего явного нет. Опять же, зависиает именно в 4:00-4:02 утра! Это качественно как то я думаю может сузить поиск. В целом комп ни разу не завис днем. Где-то в инете слышал что в 4 утра отрабатываеться что-то вроде cron daily, но я не знаю пока ни чего про это.

Переодичские ошибки в логах мелькают, но они всегда, не зависимо от времени суток. Главное в районе 4 утра ни чег странного найти не могу *(((

Уважаю мораль и амораль одинаково...

4 (04.02.2011 09:48:53 отредактировано Hrafn)

покажите вывод

cat /etc/crontab

и заодно покажите, что за файлики лежат в /etc/cron.daily

5 (04.02.2011 10:16:38 отредактировано brullek)

Так нашел в логах postrgres причину, которая приурочена к 4 утра и хоть как-то связана с проблемой. Теперь давайте по этой ниточке идти:

 Консоль:

КОМАНДА:  select date_trunc('minute',dt) as dt,"login",peerip,sum(bytes) as traffic from proxy_log where (dt between '' and '') and (code<>11) and (peerip<>'0.0.0.0') group by date_trunc('minute',dt),"login",peerip
ERROR:  неверный входной синтаксис для типа timestamp with time zone: ""
КОМАНДА:  select date_trunc('minute',dt) as dt,"login",peerip,sum(bytes) as traffic from proxy_log where (dt between '' and '') and (code<>11) and (peerip<>'0.0.0.0') group by date_trunc('minute',dt),"login",peerip
LOG:  could not connect socket for statistics collector: Сеть недоступна
LOG:  disabling statistics collector for lack of working socket
WARNING:  autovacuum not started because of misconfiguration
ПОДСКАЗКА:  Enable options "stats_start_collector" and "stats_row_level".
LOG:  система была прервана: 2011-02-02 04:01:22 MSK
LOG:  контрольная точка: EB/E207D4C4
LOG:  redo-запись: EB/E207D4C4; undo-запись: 0/0; отключение: FALSE
LOG:  next transaction ID: 0/1666583902; next OID: 371735384
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  система баз данных была неправильно остановлена; производится автоматическое восстановление
LOG:  REDO (повторить) начинается с EB/E207D50C
LOG:  запись с нулевой длинноц в EB/E20AC3C0
LOG:  REDO (повторить) завершено на EB/E20AC398
LOG:  система готова к использованию
ERROR:  неверный входной синтаксис для integer: ""

Уважаю мораль и амораль одинаково...

6

 Консоль:

КОМАНДА:  select date_trunc('minute',dt) as dt,"login",peerip,sum(bytes) as traffic from proxy_log where (dt between '' and '') and (code<>11) and (peerip<>'0.0.0.0') group by date_trunc('minute',dt),"login",peerip
LOG:  could not connect socket for statistics collector: Сеть недоступна
LOG:  disabling statistics collector for lack of working socket
WARNING:  autovacuum not started because of misconfiguration
ПОДСКАЗКА:  Enable options "stats_start_collector" and "stats_row_level".
LOG:  система была прервана: 2011-02-04 03:59:58 MSK
LOG:  контрольная точка: EC/2A1C40F0
LOG:  redo-запись: EC/2A1C40F0; undo-запись: 0/0; отключение: FALSE
LOG:  next transaction ID: 0/1668230337; next OID: 372128600
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  система баз данных была неправильно остановлена; производится автоматическое восстановление
LOG:  REDO (повторить) начинается с EC/2A1C4138
LOG:  запись с нулевой длинноц в EC/2A26C99C
LOG:  REDO (повторить) завершено на EC/2A26C974
LOG:  система готова к использованию

Уважаю мораль и амораль одинаково...

7 (04.02.2011 10:12:45 отредактировано brullek)

покажите вывод cat /etc/crontab

 Консоль:

[root@]# more cron
cron.d/        cron.disabled/ cron.monthly/  cron.weekly/   
cron.daily/    cron.hourly/   crontab        cron.yearly/   
[root@ etc]# more crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root nice -n 19 run-parts --report /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts --report /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts --report /etc/cron.monthly


и заодно покажите, что за файлики лежат в /etc/cron.daily

 Консоль:

[root@ cron.daily]# ls -1
certwatch*
logrotate*
msec@
rpm*
tmpwatch*

Уважаю мораль и амораль одинаково...

8

Каковы ваши соображения, господа?

Уважаю мораль и амораль одинаково...

9

brullek, у вас БД пострега порушена. И поэтому сервер входит в ступор.

It is good day to die ...
MS Windows 10
Заметки о главном...

10

Как восстановить?

Уважаю мораль и амораль одинаково...

11

я только с mysql работал (((

Уважаю мораль и амораль одинаково...

12

brullek, увы с postgres не знаком =(

It is good day to die ...
MS Windows 10
Заметки о главном...

13

brullek пишет:

02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily

теперь покажите /etc/cron.daily

brullek пишет:

LOG:  could not connect socket for statistics collector: Сеть недоступна

перевожу: нет соединения с сервером сбора статистики, потому-что вы его настроили как удалённый, а сеть недоступна.
попросту отключите этот автовакуум, он у вас всё равно не работает.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

14 (04.02.2011 11:28:20 отредактировано brullek)

drBatty Можете немного подробней описать, механизм что происходит или не происходит. Я пока что очень слабо понимаю.
На что влияет это задание, за что отвечает, и к чему приведет его отключение. Не совсем понятно пока.

Уважаю мораль и амораль одинаково...

15

Ок, спасибо, на этом. Жду мб у кого-то другие предложения будут.

Уважаю мораль и амораль одинаково...

16

brullek, блин, вы думаете я конфиги мандривы наизусть помню?  :o

brullek пишет:

02 4 * * * root nice -n 19 run-parts --report /etc/cron.daily

запускается у вас в 4:02 часть, которая описана в  /etc/cron.daily, и которую вы боитесь показать, и хрен его знает, что у вас там записано.

brullek пишет:

Я пока что очень слабо понимаю.
На что влияет это задание, за что отвечает, и к чему приведет его отключение. Не совсем понятно пока.

а я не помню. такие дела...

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

17

drBatty пишет:

блин, вы думаете я конфиги мандривы наизусть помню?

а при чем тут Мандрива-то?

18

brullek пишет:

Линукс на базе mandriva вроде, но точно не знаю.

Hrafn пишет:

а при чем тут Мандрива-то?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

19

drBatty пишет:
brullek пишет:

Линукс на базе mandriva вроде, но точно не знаю.

Hrafn пишет:

а при чем тут Мандрива-то?

Посмотрим вывод uname -a. EL - это Enterprise Linux. Как я понимаю, это Шапка или Цент

А даже если я ошибся и это действительно мандрива, то топик надо бы перекинуть в нужную ветку

20

Hrafn, ну я не знаю. есть какая-то разница? имхо пока это в ветку "кроссдистибутивные" надо.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

21

запускается у вас в 4:02 часть, которая описана в  /etc/cron.daily, и которую вы боитесь показать, и хрен его знает, что у вас там записано.

Что именно нужно показать? Вывод я показал:

 Консоль:

[root@ cron.daily]# ls -1
certwatch*
logrotate*
msec@
rpm*
tmpwatch*

Что нужно еще показать? Я не совсем понял... Тут ни какого криминала - я только за то то бы Вы помогли и готов предоставить все данные. Говорите только плиз поконкретнее что именно нужно от меня, что бы помочь с решение проблемы.

Уважаю мораль и амораль одинаково...

22

brullek пишет:

Как восстановить?

Если у вас БД postgres не используется, т о initdb, если используется, то из бекапа или WAL

23

Очень маловероятно что БД посыплаь, т.к. весь механизм сейчас работает и функционирует отлично. Но по ночам что-то приводи к зависанию.

Уважаю мораль и амораль одинаково...

24 (04.02.2011 19:08:07 отредактировано drBatty)

brullek пишет:

Тут ни какого криминала

наверное это rpm. но точно я не знаю.
поставьте в начале каждого файла

echo "$0" >>/var/log/cron1.log
date >>/var/log/cron1.log

тогда каждый файл будет писать в этот лог своё имя, и во сколько он начал работать.
таким образом мы узнаем, какаой из них виснет.

ЗЫЖ не в самое начало конечно, а после первой строки

#!/bin/sh

а тормозить может что угодно. и RPM, и logrotate.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

25 (07.02.2011 10:24:06 отредактировано brullek)

Во все скрипты ввел логирирование на входе и выходе из скрипта. Буду ждать очередного зависания (p.s. бывает месяцами все работает, а бывает каждую ночь подвисает).

Благодарю за советы, если появится новая информация из логов - обязательно сообщю, что бы можно было продвинуться дальше.

P.S:

а тормозить может что угодно. и RPM, и logrotate.

Вопрос не о тормозах, а о глухом зависание, которое происходит с 4 ночи до 9 утра, пока я физически сервер не отправлю в ребут.

Уважаю мораль и амораль одинаково...

26

brullek пишет:

Вопрос не о тормозах, а о глухом зависание, которое происходит с 4 ночи до 9 утра, пока я физически сервер не отправлю в ребут.

"глухое зависание" это тоже обычно тормоза. например logrotate умеет сжимать файлы, причём современные сжиматели жрут много памяти - если памяти не хватит, то либо всё рухнет если нет свопа, либо всё будет "работать", только в 1000 раз медленнее, если своп есть. и то и другое "глухое зависание". также может порушиться БД  RPM, это тоже приведёт к зависанию - перезагрузить-то можно, но следующей ночью всё повторится.

Лично я считаю, что в RH неправильно сделали, что засунули все задачи на 4 утра, лучше-бы их равномерно раскидать по промежутку времени, когда загрузка небольшая... тогда достаточно просто определить время зависания.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

27

также может порушиться БД  RPM, это тоже приведёт к зависанию - перезагрузить-то можно, но следующей ночью всё повторится.

Тут другой случай. Я принудительно вызывал все скрипты с крона днем, смотрел как они отрабатываються. Все работает норм. Две ночи уже все норм. Это зависит от каких-то факторов, которые мне не известны... мб интеренет падает, или мб происходит конфликт выполняемых ежечастных скриптов (первая минута каждого часа... там только /usr/bin/msec отрабатывается) с ежедневными (вторая минута пятого часа, список отрабатываемых скриптов показывал выше). В прочем crontab я показывал уже...

Уважаю мораль и амораль одинаково...

28

Речь идет не о зависание каждую ночь, а о зависаниях, которых может месяц не быть, а могут 2 ночи подряд повториться...

Уважаю мораль и амораль одинаково...

29

brullek, дык я о том и говорю - если БД рухнула, она и на следующее утро опять рухнет...
а по времени разнесите конечно ежечасные с ежедневными (первое число в crontab).

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

30

drBatty, спасиба за советы.
А файл /etc/crontab можно из MC через F4 редактировать? или нужно специальной утилитой его править, как пользовательские задания?

Уважаю мораль и амораль одинаково...