SystemdDoctor
служба не работает сеть ресурсы ядро

No buffer space available в журнале службы

Сообщение No buffer space available (номер 105, ENOBUFS) означает, что ядру не хватило буферов для операции. У служб это обычно сеть: переполнение таблицы соседей, исчерпание буферов сокетов или памяти под сетевые структуры.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Переполнена таблица соседей

    При большом числе соседей в сети таблица заполняется, и новые записи не создаются. Признак — сообщения ядра о переполнении.

  2. Исчерпаны буферы сокетов

    При большом числе соединений или крупных буферах память под них заканчивается.

  3. Нехватка памяти ядра

    При общей нехватке памяти ядро не может выделить буферы. Тогда эта ошибка — следствие, а не причина.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Таблица соседей и статистика.

ip -s neigh show | tail

Использование памяти сокетами.

cat /proc/net/sockstat

Сообщения ядра.

journalctl -k -b --no-pager | grep -iE "neighbour table overflow|No buffer" | tail

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Переполнена таблица соседей
Почему происходит
При большом числе соседей в сети таблица заполняется, и новые записи не создаются. Признак — сообщения ядра о переполнении.
Как проверить
Посмотрите таблицу и пределы.
ip -s neigh show | tail -5
sysctl net.ipv4.neigh.default.gc_thresh3
Как исправить
Увеличьте пределы таблицы соседей через настройки ядра. В больших плоских сетях это обычная необходимость.
2. Исчерпаны буферы сокетов
Почему происходит
При большом числе соединений или крупных буферах память под них заканчивается.
Как проверить
Посмотрите использование памяти сокетов.
ss -m | head -20
cat /proc/net/sockstat
Как исправить
Уменьшите размеры буферов у службы или увеличьте общий предел памяти для сокетов в настройках ядра.
3. Нехватка памяти ядра
Почему происходит
При общей нехватке памяти ядро не может выделить буферы. Тогда эта ошибка — следствие, а не причина.
Как проверить
Посмотрите память и сообщения ядра.
free -h
journalctl -k -b --no-pager | tail -10
Как исправить
Разбирайтесь с нехваткой памяти: освободите её или ограничьте потребителя.

Пример вывода

Переполнена таблица соседей. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

kernel: neighbour: arp_cache: neighbor table overflow!
myapp[1200]: error: sendto: no buffer space available

Связанные ошибки

Источники

  • Документация ядра: настройки сети документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено заполнением таблицы соседей в тестовой сети.
    собственная проверка, systemd 255
    сверено 15 сентября 2026