Уже на второй машине столкнулся: root@teer ~ # df -h /tmp Файловая система Размер Использовано Дост Использовано% Cмонтировано в tmpfs 1,7G 1,7G 0 100% /tmp root@teer ~ # du -sh /tmp/* 1,7G /tmp/atop.d 0 /tmp/wpa_ctrl_22660-1 root@teer ~ # ls /tmp/atop.d atop.acct root@teer ~ # lsof /tmp/atop.d/atop.acct COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME atop 14293 root 3r REG 0,17 1718849536 27538 /tmp/atop.d/atop.acct root@teer ~ # lsof /var/log/atop/daily.log COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME atop 14293 root 1w REG 253,0 0 525708 /var/log/atop/daily.log atop 14293 root 2w REG 253,0 0 525708 /var/log/atop/daily.log root@teer ~ # ls -lht /var/log/atop/daily.log -rw-r--r-- 1 root root 0 сен 13 00:00 /var/log/atop/daily.log root@teer ~ # date Чт сен 13 10:38:03 KRAT 2012 root@teer ~ # cat /etc/cron.d/atop # start atop daily at midnight 0 0 * * * root /etc/atop/atop.daily т.е. задание не отработало за 10 часов. На обоих был в screen-е запущен интерактивный atop. На первой он в данной ситуации умер, здесь же я завершил его штатно.
Проблема давняя: http://lists.altlinux.org/pipermail/community/2010-February/661438.html
Created attachment 5555 [details] Лог strace Если подцепиться strace, видно, что процесс долго чего-то ждёт (pause) и иногда что-то делает.
Прибивание процесса и/или удаление файла место на освобождает. Помогло только 'accton off'.
Может, возьмёшься за него? Смотрел, но не пользуюсь (остановился на htop и местами dstat).
AFAIK, можно обойти запуском как ATOPACCT=” atop
По чтении мана и кода ясно, что cron-задание и должно висеть целые сутки, каждые 600 секунд сбрасывая данные аккаунтинга из /tmp/atop.d/atop.acct в /var/log/atop/atop_YYYMMDD. Следующий вызов задания должен завершить предыдущий по SIGUSR2 и занять его место для сброса данных за следующий день. В коде предусмотрена проверка что /t/a/atop.acct не вырос больше, чем 200Мб и усечение его в этом случае. Неясно, почему она не срабатывает.
Не срабатывает урезание в atop -w, похоже, потому что в обоих случаях был запущен в скрине и просто atop, так что cron-задача не получила эксклюзивного доступа к /t/a/atop.acct. Должен ли интерактивно запущенный atop обрезать файл, непонятно. По идее, запуск интерактивного atop с пустой переменной ATOPACCT должен дать возможность записывать статистику аккаунтинга исключительно с помощью cron-задачи и не переполнять при этом /tmp. Попробую проверить это на практике.
Да, похоже, обход путём выставления пустой переменной помогает. Что с этим делать, неясно.
Пишут (см. URL), что починено в atop-2.1. Есть желающие обновить atop? led? mike? qa? :-)
А давай ты оформишь, а я как @qa дам подтверждение? Сам просто пакетом не пользуюсь. Думаю, так всем проще будет.
Надо тестировать 2.2-alt1. Скажу сразу, atopacct.service/atopacctd я почти совсем не тестировал. С интерактивным atop проблем не замечено, но это лишь на одной машине. В общем, прикроем для ясности. Переоткрыть всегда можно.
Миш, добавь меня пожалуйста в ACL на atop.
Это к led@ или ldv@.
В 2.2-alt2 atopacctd под systemd даже притворяется работающим.