zaLinux.ru

Ошибка «sendmsg: Недостаточно буферного пространства» (РЕШЕНО)


Ошибка «sendmsg: Недостаточно буферного пространства» (или если у вас в качестве языка выбран английский, то ошибка будет «ping: sendmsg: No buffer space available») может возникнуть при использовании сети в Linux.

Проблема может быть периодической, то есть Интернет-подключение может работать нормально, но иногда «зависать». Чаще возникает на Wi-Fi подключениях, а не на беспроводных сетевых интерфейсах. Обычно помогает включение и отключение Wi-Fi адаптера. К сожалению, не всегда эту проблему можно решить изменив настройки системы — в некоторых случаях это признак аппаратной проблемы сетевого адаптера или неполной совместимости.

Пример команды, которая может вызвать:

ping 192.168.0.1

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

PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
ping: sendmsg: Недостаточно буферного пространства
ping: sendmsg: Недостаточно буферного пространства
ping: sendmsg: Недостаточно буферного пространства
ping: sendmsg: Недостаточно буферного пространства

Данная ошибка означает, что вы достигли максимального значения системного параметра. Вероятно, /proc/sys/net/core/wmem_max (но это может потребовать некоторого исследования в системе, которая показывает эту ошибку). Этот параметр представляет собой максимальный объем «принимаемой памяти сокета».

Вполне вероятно, что причиной является неисправный сетевой адаптер или сетевой адаптер, который не поддерживается на 100%, но в принципе работает, если система не перегружена.


На случай, если кто-то захочет узнать: файл, в котором хранятся указанные настройки, - это /etc/sysctl.conf, и вы можете изменить их — для этого нужны права root. Некоторые примеры можно найти здесь (также включает параметр, указанный в начале этого ответа). Но это следует делать только в том случае, если замена самой сетевой карты не решает эту проблему.

Связанная статья: Тонкая настройка сетевого стека Linux (размер буферов) для повышения производительности сети

Скорее всего, проблема в драйвере или в самом оборудовании. Это можно временно исправить, отключив/включив интерфейс. В основном очередь вывода заполнена, и если вы не обрабатываете какой-либо основной сетевой трафик или не имеете тонны хостов в сети, вы не должны видеть эту ошибку.

Некоторым пользователям удаётся решить эту проблему изменив настройки Wi-Fi в роутере, например, выбрав режим «802.11 b/g/n mixed».

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

В качестве быстрого исправления вы можете выключить/включить Wi-Fi адаптер в NetwordManager или с помощью команд:

sudo ip link set ИНТЕРФЕЙС down
sudo ip link set ИНТЕРФЕЙС up

Если вы хотите разобраться в причинах и корне данной проблемы, то обратитесь к статье «Памятка по Wi-Fi в Linux: подсказки и решение проблем», найдите там раздел «Как увидеть, что происходит с беспроводными интерфейсами» и используйте указанные команды.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *