Множественные процессы dataskq забивают RAM
13 Jan 2016 | Автор: dd |Захожу тут на свой бложик, а там ад – лежит мускуль с ошибкой, что невозможно соединиться.
Естественно полез смотреть, что происходит, ибо настроено все было нормально. Через команду free -m видим кто то скушал оперативу, а ps -axj выдает виновника торжества /usr/local/directadmin/dataskq
dataskq есть приблуда к веб-консоли управления сервером Directadmin, стартующая по расписанию cron каждую минуту, для обновления статистики и запуска всяких вспомогательных процессов, т.ч если у вас, к примеру, некоторое число бэкапов с разницей в несколько минут, то этот процесс наштампует своих копий, которые и без многократного повторения повесят сервер.
Запускаем более подробную чекалку ps waux | grep dataskq и видим несколько сотен клонов данного процесса, которые аннигилируем через команду:
# killall dataskq
После чего все должно запускаться.
Далее устраняем проблему, т.к dataskq запускается каждую минуту через планировщик крон и нам надо, чтобы система убеждалась в то, что запущен только один процесс, дабы избежать накопления 100500 одновременных процессов.
Для чего открываем файл /etc/cron.d/directadmin_cron
в котором меняем строку
* * * * * root /usr/local/directadmin/dataskq
на усложненное выражение проверки
* * * * * root if [ "`ps ax | grep -v grep | grep -c dataskq`" -eq 0 ]; then /usr/local/directadmin/dataskq; fi;
после чего рестартим демона планировщика
/etc/init.d/crond restart
Также в папке /usr/local/directadmin/data/admin надо посмотреть на размер файла brute_log_entries.list - если он до неприличия большой, то необходимо ограничить его размер в админке DirectAdmin: Admin Level -> Admin Settings путем уменьшения время хранения ошибочных логинов.
Множественные процессы dataskq забивают RAM,