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

У меня есть машина с несколькими приложениями, которые постоянно выполняют UNC-доступ (\\server-ip\share). Через несколько дней все UNC становятся недоступными с этой машины.

  • При убивании приложений UNC снова доступен
  • При перезапуске процессов UNC снова сразу не доступен
  • Перезагрузка машины решает проблему в течение нескольких дней

Вероятно, есть истощение порта, но netstat не показывает слишком много подключений или зависших подключений, а на вкладке производительности диспетчера задач не отображаются ненормальные цифры. TcpQry показывает нормальные номера сопоставления TCP/UDP.

Также

  • Захват пакета показывает, что при возникновении проблемы нет запроса (запрос не достигает предположения об исчерпании порта).
  • Просмотрщик событий ничего не раскрывает
  • Сделал следующие изменения реестра, хотя это, вероятно, только задержало бы проблему, но не устранило ее, но в любом случае это не помогло:

    Найти autodisconnect значение в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters, Если его там нет, создайте новый REG_DWORD называется autodisconnect, Отредактируйте значение как шестнадцатеричное и установите его ffffffff,

    найти KeepConn в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters, Если его не существует, создайте его как REG_DWORD значение и присвойте ему значение 65534.

    найти HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters и создать новый DWORD значение по имени MaxUserPort, Установите значение 65534.

Мои вопросы:

  • Как определить исчерпание очереди или буферного пространства?
  • Если действия UNC действительно истощают ресурсы, есть ли альтернатива, которая не высвобождает ресурсы?

0 ответов

Другие вопросы по тегам