Однажды на сервере доступа Ubuntu Server 16.04 и Accel-ppp заметил в файле /var/log/kern.log следующие сообщения:
kernel: [365970.550498] HTB: quantum of class 10001 is big. Consider r2q change. kernel: [365970.550547] HTB: quantum of class 10A49 is big. Consider r2q change. kernel: [365979.545580] HTB: quantum of class 10001 is big. Consider r2q change. kernel: [365979.545621] HTB: quantum of class 10BD6 is big. Consider r2q change. kernel: [365995.601973] HTB: quantum of class 10001 is big. Consider r2q change. kernel: [365995.602031] HTB: quantum of class 11705 is big. Consider r2q change.
Сначала попробовал отследить какие в этот момент поднимаются интерфейсы:
tail -f /var/log/kern.log | grep "quantum of class 10001 is big" tail -f /var/log/accel-ppp/accel-ppp.log | grep "create interface"
Но как оказалось, в конфигурации /etc/accel-ppp.conf, в секции шейпера, не был указан quantum, а если его не указать, то он высчитывается.
По этому я открыл файл конфигурации Accel-ppp:
sudo nano /etc/accel-ppp.conf
И указал его:
[shaper] quantum=1500 #moderate-quantum=1
Также изменил up-limiter с «htb» на «police» для лучше производительности, а также чтоб правильно резалась скорость при большом количестве сессий (при 3000+ ipoe сессиях с htb начались проблемы, скорость отправки падала до 1 Мб/сек):
#up-limiter=htb up-limiter=police
Чтобы применить изменение для новых сессий не обрывая активные, заставим Accel-ppp перечитать файл конфигурации:
telnet 127.0.0.1 2000 reload
Или перезагрузим Accel-ppp, но при этом оборвутся все сессии:
sudo /etc/init.d/accel-ppp restart
После этого ошибка исчезла.
Смотрите также мою статью — Сборка и установка accel-ppp