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

532
grunt

У меня есть машина с несколькими приложениями, которые постоянно выполняют 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
На какой стороне вы просматривали количество соединений? На какой информации основано изменение вашего реестра? Seth 7 лет назад 0
Исходная машина. Целевая машина все еще может подключаться к исходной машине. grunt 7 лет назад 0
Что касается вашего первого абзаца, вы обсуждаете одну или две машины? Пожалуйста, отредактируйте, чтобы быть более понятным, возможно, выполнив термины «сервер» и «клиент», если это необходимо. Twisty Impersonator 7 лет назад 0

0 ответов на вопрос