Проблемы с Е1
Стоит астериск 1.6.2, карточка Е1 Digium TE121 с эходавом на железке
Pentium Dual Core E5200@2.5G, память 1Gb.
Поток периодически падал, сыпались ошибки. Стал проверять.
Оказалось, что процесс астериска кушает 99.9%, общая загрузка системы в больше 2.0( при любом количестве звонков), а в /var/log/messages завалено
kernel: wcte12xp 0000:02:08.0: ERROR: Unable to service card within 25 ms and unable to further increase latency.
kernel: wcte12xp 0000:02:08.0: Host failed to service card interrupt within 128 ms which is a hardunderun.
kernel: wcte12xp 0000:02:08.0: VPM present and operational (Firmware version 120)
kernel: wcte12xp 0000:02:08.0: VPMADT032 is reenabled.
Нашел подсказки, что дело в прерываниях, тем более, что эту часть благополучно пропустил при начальной настройке(из за спешки). Отключил все лишнее в биосе, правда особо много отключить не получилось и результат оказался тот же.
Дальнейшее копание привело к глубокому исследованию /proc/interrupts и возможности перераспределения обработки этих прерываний на разные ядра процессора. В результате прерывание от платы потока было повешено на второе ядро, а все остальные ушли на первое ядро.
Ошибки в логах появляются всего несколько раз за сутки, загрузка процессора так и осталась выше 2.0
Вопрос такой: чему причиной такое поведение?
1. слабый процессор
2. криво собравшийся астериск\dahdi
3. еще что-то
|