Bug 27734

Summary: Переполняет /tmp
Product: Sisyphus Reporter: Evgenii Terechkov <evg>
Component: atopAssignee: led
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: evg, ldv, led, mike, real.altlinux.org
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://www.atoptool.nl/downloadatop.php
Attachments:
Description Flags
Лог strace none

Description Evgenii Terechkov 2012-09-13 06:52:49 MSK
Уже на второй машине столкнулся:

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. На первой он в данной ситуации умер, здесь же я завершил его штатно.
Comment 1 Evgenii Terechkov 2012-09-13 06:56:53 MSK
Проблема давняя:

http://lists.altlinux.org/pipermail/community/2010-February/661438.html
Comment 2 Evgenii Terechkov 2012-09-13 07:25:33 MSK
Created attachment 5555 [details]
Лог strace

Если подцепиться strace, видно, что процесс долго чего-то ждёт (pause) и иногда что-то делает.
Comment 3 Evgenii Terechkov 2012-09-13 07:36:08 MSK
Прибивание процесса и/или удаление файла место на освобождает.

Помогло только 'accton off'.
Comment 4 Michael Shigorin 2012-09-13 15:38:49 MSK
Может, возьмёшься за него?  Смотрел, но не пользуюсь (остановился на htop и местами dstat).
Comment 5 Evgenii Terechkov 2012-09-14 19:29:45 MSK
AFAIK, можно обойти запуском как ATOPACCT=” atop
Comment 6 Evgenii Terechkov 2012-09-15 11:25:06 MSK
По чтении мана и кода ясно, что cron-задание и должно висеть целые сутки, каждые 600 секунд сбрасывая данные аккаунтинга из /tmp/atop.d/atop.acct в /var/log/atop/atop_YYYMMDD. Следующий вызов задания должен завершить предыдущий по SIGUSR2 и занять его место для сброса данных за следующий день.

В коде предусмотрена проверка что /t/a/atop.acct не вырос больше, чем 200Мб и усечение его в этом случае. Неясно, почему она не срабатывает.
Comment 7 Evgenii Terechkov 2012-09-15 13:06:43 MSK
Не срабатывает урезание в atop -w, похоже, потому что в обоих случаях был запущен в скрине и просто atop, так что cron-задача не получила эксклюзивного доступа к /t/a/atop.acct. Должен ли интерактивно запущенный atop обрезать файл, непонятно.

По идее, запуск интерактивного atop с пустой переменной ATOPACCT должен дать возможность записывать статистику аккаунтинга исключительно с помощью cron-задачи и не переполнять при этом /tmp. Попробую проверить это на практике.
Comment 8 Evgenii Terechkov 2012-09-24 04:42:33 MSK
Да, похоже, обход путём выставления пустой переменной помогает. Что с этим делать, неясно.
Comment 9 Evgenii Terechkov 2015-09-19 13:20:18 MSK
Пишут (см. URL), что починено в atop-2.1.

Есть желающие обновить atop? led? mike? qa? :-)
Comment 10 Michael Shigorin 2015-09-19 13:41:01 MSK
А давай ты оформишь, а я как @qa дам подтверждение?
Сам просто пакетом не пользуюсь.
Думаю, так всем проще будет.
Comment 11 Evgenii Terechkov 2015-09-23 09:07:50 MSK
Надо тестировать 2.2-alt1.

Скажу сразу, atopacct.service/atopacctd я почти совсем не тестировал. С интерактивным atop проблем не замечено, но это лишь на одной машине. В общем, прикроем для ясности. Переоткрыть всегда можно.
Comment 12 Evgenii Terechkov 2015-09-24 06:05:49 MSK
Миш, добавь меня пожалуйста в ACL на atop.
Comment 13 Michael Shigorin 2015-09-24 11:36:09 MSK
Это к led@ или ldv@.
Comment 14 Evgenii Terechkov 2015-09-24 17:24:07 MSK
В 2.2-alt2 atopacctd под systemd даже притворяется работающим.