Этот пробел был причиной? Честно говоря, не могу принять такой вариант ибо не понимаю... Больше точно ничего не меняли, может совпало? Ну никак не могу сопоставить одно с другимovcher писал(а):Отчитываюсь. Пол дела, можно сказать, я сделал.
Запустил утилиту iotop, которая мне сразу подсказала что с винтом балуется cycle_connect.php
Открыл, убрал пробелы после s, в общем, так было:так стало:Код: Выделить всё
('Y-m-d H:i:s '). Жрать дисковое пространство стало гораздо меньше.Код: Выделить всё
('Y-m-d H:i:s')
Ещё немного обновлений
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Контактная информация:
Re: Ещё немного обновлений
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
По шагам. Отлавливаю iotop что хулиганит, вижу что это cycle_connect.php, в среднем льет на винт 1500 K/s, просматриваю код и походу, на автомате, убираю пробелы больше ничего, пока, не вижу, сохраняю cycle_connect.php. Глянул свойства, диск порядочно заполнен, перезагружаю, смотрю iotop, вижу льет уже в районе 500 K/s, факт. Я тоже прекрасно понимаю что пробел там не играет ни какой роли, но тем не менее констатирую как есть.sergejey писал(а): Этот пробел был причиной? Честно говоря, не могу принять такой вариант ибо не понимаю... Больше точно ничего не меняли, может совпало? Ну никак не могу сопоставить одно с другим
На Ваш вопрос, пробел ли был причиной? Нет, не пробел. Причиной, как я считаю был тот код что Вы дописали после @return void, я попросту, пока, раскоментировал три вот этих строчки:
Код: Выделить всё
Summary of processResponse
@param mixed $out Out param
@return void
За день система, естественно, набирает логов(я про положенный минимум в максимум в 100метров), это нормально, но наутро все опять чисто(старые логи стираются, новые только начинают писаться), в общем винт строго в одной поре.
Здесь ситуация несколько иная, запись идет со скоростью "пулемета", как стриминг, логи так не пишутся, просто, на автомате, первое что приходит в голову это логи. Почему так? Ну, Вы же админ, должны знать какой размер у логов в больших организациях, ну например у WWW, при штате организации в 1,5К душ, и особенно там где есть билинг, например у меня логи по 30гектар. Вот оно и мкнет. Но быстро приходит осознание того что даже эти логи не набираются так, по сотне метров за 5 минут.AirKing писал(а): Лично на моих серверах место пропадает в каталоге где хранятся логи. По размеру всех файлов общий объём мизерный. Как я выяснил проблемы у newslog. Почему-то при создании нового файла не освобождается место от старого. Лечится перезагрузкой сервиса который создаёт логфайл.
Повторюсь. Это только на виртуалках.
Теперь про очистку заголовков(высвобождение места). Насколько я знаю, на логи накладываются временные лимиты а не размерные, по размеру может происходить лишь накопление, но никак не удаление, иначе грош цена этим логам, вы их не сможете проанализировать ибо они попросту удалятся. Ну а для того чтобы не случилось ступора существуют разного рода алармы и Дебиан здесь не исключение. В нашем же случае таких размеров быть не может, априори, тем более 100 гектар в сутки, это больше похоже на какой то поток, который прет постоянно, без начала и конца, поэтому его и сложно отследить. А никсы, ввиду каких то своих особенностей его так буферизируют. ИМХО.
Последний раз редактировалось ovcher Вт мар 22, 2016 2:53 am, всего редактировалось 2 раза.
Re: Ещё немного обновлений
Убрав комментарии с этих строк Вы добавили в скрипт синтаксическую ошибку, вследствие чего он попросту перестал выполнятся. Невыполнение этого скрипта вполне может быть "решением" Вашей проблемы, но, как я и писал раньше, реальная проблема не в этом месте.ovcher писал(а): На Ваш вопрос, пробел ли был причиной? Нет, не пробел. Причиной, как я считаю был тот код что Вы дописали после @return void, я попросту, пока, раскоментировал три вот этих строчки:и проблема тут же исчезла. И это тоже факт.Код: Выделить всё
Summary of processResponse @param mixed $out Out param @return void
Возможно проблема действительно в этом скрипте, но чтобы определить где именно, нужно разобраться в причинах такого поведения. Метод Научного Тыка тоже бывает полезен, но и для него нужно хотя бы понимание конструкций языка.
Вы провели какое-то исследование, поделитесь данными: логами, выводом утилит. Возможно достаточно глянуть на вывод iotop опытному глазу и Вам сразу подскажут, куда копать дальше.
- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
Сомневаюсь, я попросту отсек кусок кода следующий за @return void вернув пустышку. По моему так.olehs писал(а): Убрав комментарии с этих строк Вы добавили в скрипт синтаксическую ошибку
Цитата:
void в качестве типа результата означает, что возвращенное значение бесполезно. void в списке параметров означает, что функция не принимает параметров.
ИМХО так оно и было у Сергея пока он не дописал код дальше.
Это и ужу понятноolehs писал(а):вследствие чего он попросту перестал выполнятся.
Тоже, несомненно. Но и я ни где не писал что собираюсь так оставить на веки вечные, напротив я пытаюсь выяснить у Автора, что к чему и как лучше исправить данную проблему, ну или на крайняк что будет если я оставлю так как есть.olehs писал(а):Невыполнение этого скрипта вполне может быть "решением" Вашей проблемы, но, как я и писал раньше, реальная проблема не в этом месте.
olehs писал(а): Возможно проблема действительно в этом скрипте, но чтобы определить где именно, нужно разобраться в причинах такого поведения. Метод Научного Тыка тоже бывает полезен, но и для него нужно хотя бы понимание конструкций языка.
Изначально, я задал вопрос, что идет переполнение диска, мне внятно ответили что с этим не сталкивались. Далее я локализовал конкретный кусок и спросил за что он отвечает, ну или на крайняк направить меня в нужную сторону чтобы я смог проверить сам. Вы, вот, сами скажите сидя рядом с Автором программы, неужто Вы кинетесь ее трассировать, предварительно не спросив у Автора что по чем?
Возможно Вы глянули только последние мои постыolehs писал(а): Вы провели какое-то исследование, поделитесь данными: логами, выводом утилит. Возможно достаточно глянуть на вывод iotop опытному глазу и Вам сразу подскажут, куда копать дальше.
- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
Да, глянул, iotop я не дал, каюсь, но уверяю Вас, там нет ничего такого что бы "опытный глаз" не смог понять с моих слов.
Есть столбец Запись на винт. Везде по нулям и только в одном месте 1500 B/s и это cycle_connect.php. Если интересен сам интерфейс вот: Вот и вся тайна "мадридского двора"
Как видите ничего сверх естественного или снова закомментировать цикл чтобы показать лично Вам, Вы только скажите, я без проблем.
Остальные свои изыскания я вроде опубликовал.
Есть столбец Запись на винт. Везде по нулям и только в одном месте 1500 B/s и это cycle_connect.php. Если интересен сам интерфейс вот: Вот и вся тайна "мадридского двора"
Как видите ничего сверх естественного или снова закомментировать цикл чтобы показать лично Вам, Вы только скажите, я без проблем.
Остальные свои изыскания я вроде опубликовал.
Re: Ещё немного обновлений
Да, хотелось бы увидеть вот это
ovcher писал(а):Еще iotop указал на некие params
- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
Пожалуйста:
- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
Ах, да, пардон, я там писал B/s, пардон, конечно же K/s, исправил.
Последний раз редактировалось ovcher Вт мар 22, 2016 2:57 am, всего редактировалось 1 раз.
Re: Ещё немного обновлений
Ок. Вы знаете как узнать PID выделенного красным процесса? Если знаете, подставьте его в эту команду вместо <pid>
Код: Выделить всё
lsof -p <pid> -r 5- ovcher
- Сообщения: 184
- Зарегистрирован: Сб сен 12, 2015 3:11 am
- Откуда: Волгоград
- Контактная информация:
Re: Ещё немного обновлений
Сколько циклов дать?