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

Сотни CLOSE_WAIT

Я получаю утечки файлов, когда запускаю свой код в Google Compute Engine на серверы Google:

php        3630         www-data  873u     IPv4              34632       0t0        TCP xxxx.internal:43328->vu-in-f139.1e100.net:https (CLOSE_WAIT)
php        3630         www-data  874u     IPv4              34640       0t0        TCP xxxx.internal:39500->vh-in-f139.1e100.net:https (CLOSE_WAIT)
php        3630         www-data  875u     IPv4              34648       0t0        TCP xxxx:43336->vu-in-f139.1e100.net:https (CLOSE_WAIT)

Я не звоню на эти серверы напрямую. Я считаю, что библиотека API Google может делать эти вызовы, но, похоже, не закрывает ее. Я запустил тот же код на сервере baremetal, и я не получаю этих утечек файлов.

Кто-нибудь знает, что вызывает это?

Близкие ожидания - это результат закрытия сеансов TCP на удаленной стороне, но локальный сокет не закрывается. ОС будет отслеживать соединение до тех пор, пока не будет установлено ограничение по времени tcp-сокета ОС или вы не «закроете» его. Обычно это происходит из-за того, что после подключения не выполняется очистка. (т.е. когда вы закончили с сокетом, вы не закрываете его и не уничтожаете объект должным образом). Возможно, вы не очищаете объекты API Google, когда закончите с ними. Без дополнительных деталей (кода?) Мы действительно можем только догадываться.