Назад | Перейти на главную страницу

Ошибка сети: нет свободного места в буфере

После некоторого времени нормальной работы одна из наших машин с Windows XP SP3 больше не открывает некоторые (!) Новые соединения TCP / IP.

Замазка говорит Network Error: no buffer space available, IE не будет открывать новые соединения, но, например, сопоставления сетевых дисков все еще работают, даже могут быть установлены новые.

netstat не показывает больше открытых подключений, чем обычно, запросы ping и DNS работают нормально.

Есть подсказки?

Это может произойти из-за практически любого программного обеспечения, которое неправильно удерживает сетевые буферы, не освобождая их. Это случилось со мной в Win7 64bit. Chrome и Firefox перестали подключаться к любым веб-страницам, совместное использование файлов Windows перестало работать, а WinSCP и PuTTY выдавали ошибки, которые включали слова No buffer space available. Как ни странно, Ubuntu 10, работающий под VirtualBox, похоже, не испытывал проблем с установкой новых сетевых подключений - возможно, он держит несколько сетевых буферов в резерве.

Чтобы узнать, какое программное обеспечение вызывает утечку сетевых буферов, вам необходимо закрыть программы, пока проблема не исчезнет. Поэтому я начал закрывать программы и пытаться установить соединение WinSCP после каждой закрытой программы, но ошибка не исчезла. Когда я закрыл все видимые программы, я открыл диспетчер задач Windows с помощью Ctrl-Shift-Esc и начал убивать невидимые программы с помощью End Process кнопка. Будьте осторожны - убийство некоторых вещей, на которые опирается система, может вызвать проблемы, поэтому не убивайте ничего, чего вы не узнаете, не исследуя, что это такое. Чтобы определить, что именно, перейдите на View > Select Columns и выберите показать Image Path Name и Command Line. В общем, будьте осторожны, убивая кого-либо с помощью Command Line что начинается с C:\Windows\ и будьте еще осторожнее, прежде чем убивать все, что начинается с C:\Windows\System или C:\Windows\System32.

Убийство C:\Windows\explorer.exe довольно безопасно и иногда может решить проблемы. Например, расширения, которые генерируют миниатюры для сторонних типов файлов, часто вызывают проблемы, хотя маловероятны проблемы с хранением сетевого буфера, если вы не установили троянские расширения, отправляющие данные обратно на какой-то вредоносный сервер. Убийство C:\Windows\explorer.exe заставит панель задач исчезнуть вместе со всеми окнами проводника файлов. Чтобы вернуть их, перейдите в File > New Task (Run...) и введите explorer в появившемся окне, затем щелкните OK.

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

В моем случае удаление fmsib.exe (часть FileMaker Server 13) позволило мне установить одно новое соединение, но не более того. Убийство fmshelper.exe (также являющегося частью FileMaker Server 13) позволило мне установить десятки дополнительных подключений, поэтому я думаю, что это был виноват, но это только в моем случае.

Вы видели эту проблему в прошлом на Win98. Это было решено путем добавления ключа в реестр «MaxConnections» для переопределения размера буфера по умолчанию.

В поисках исправления для XP может помочь следующее:

ОШИБКА ЖУРНАЛА СОБЫТИЙ WSAENOBUFS (10055)

Операция с сокетом не может быть выполнена из-за недостатка буферного пространства в системе или из-за переполнения очереди.

Запустите редактор реестра.

Найдите в реестре следующий подраздел и щелкните Параметры:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters

В меню «Правка» нажмите «Создать» и добавьте следующую запись в реестр:

Имя значения: MaxUserPort

Тип значения: DWORD

Данные значения: 65534

Допустимый диапазон: 5000-65534 (десятичный)

По умолчанию: 0x1388 (5000 десятичных знаков)

REF http://smallbusiness.support.microsoft.com/en-gb/kb/196271

Извините, если это не поможет.

Недавно я установил плагин kleopatra Outlook GPG, который съедал все ресурсы, и из-за этого я также получаю ту же ошибку. После удаления этого плагина все работает плавно.

Я только начал испытывать эту проблему после того, как мое соединение с кабельным модемом Shaw оборвалось, и я выключил модем и отключил питание.

Интернет исправлен, но это машина разработчика, поэтому работает бесчисленное количество процессов, любой из которых может повлиять на нее.

Это временная проблема, из-за которой Slack не может отправлять сообщения, веб-сайты работают, но не загружают изображения, и у меня просто возникла проблема с выполнением git push origin develop который вызвал ошибку буфера:

ssh: connect to host gitlab.com port 22: No buffer space available
fatal: Could not read from remote repository.

Я снова запустил команду, и она сработала.

Мое решение теперь будет заключаться в перезагрузка. Я очень подозреваю, что это решит мои проблемы.

Установлен сервис-пак 3? Вы хотите удалить / отключить службы и фоновые приложения по одному, чтобы устранить утечку подключений. Это будет приложение, которое устанавливает соединение, но получает медленные ответы от удаленного хоста. Я бы посмотрел на скорость внешнего подключения к Интернету (я предполагаю, LAN или WAN) и не стал бы связываться с антивирусом - его нет, скорее всего, виновато другое приложение. Я бы начал с интернет-браузеров и другого удаленного подключения с помощью программ. http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/XP/Q_25022997.html

Я избегаю этой проблемы, перезагружая удаленную машину XP. Используйте команду «shutdown -r -t 0» в cmd.