Почему lsof не показывает локальные TCP-соединения в 14.04?

У меня есть два сервера, работающие 12.04.4 и 14.04.1 соответственно. Оба имеют nginx (порт 80) и процесс Java (порт 8080).

Как и ожидалось, вывод lsof для процесса Java (sudo lsof -nP -p $PID) на машине 12.04 показывает пару установленных соединений для порта 8080 (например, TCP 127.0.0.1:8080->127.0.0.1:58067 (ESTABLISHED))

Однако машина 14.04 этого не делает. Показывает только порт прослушивания (TCP *:8080 (LISTEN)). Я уверен, что есть активные соединения (подтверждается журналами доступа, выводом статуса процесса Java и т. Д.).

Что изменилось с 12.04, чтобы привести к такому поведению? Может ли это изменение стать причиной ошибок "Слишком много открытых файлов", которые я получаю после перехода с 12.04 на 14.04?

12,04:

$ dpkg -l lsof linux-image-virtual openjdk-7-jre nginx
||/ Name                                        Version
+++-===========================================-===========================================
ii  linux-image-virtual                         3.2.0.59.70
ii  lsof                                        4.81.dfsg.1-1build1
ii  nginx                                       1.6.1-1~precise
ii  openjdk-7-jre                               7u65-2.5.1-4ubuntu1~0.12.04.1

14,04:

$ dpkg -l lsof linux-image-virtual openjdk-7-jre nginx-full
||/ Name                                  Version                 Architecture            Description
+++-=====================================-=======================-=======================
ii  linux-image-virtual                   3.13.0.32.38            amd64
ii  lsof                                  4.86+dfsg-1ubuntu2      amd64
ii  nginx-full                            1.4.6-1ubuntu3          amd64
ii  openjdk-7-jre:amd64                   7u65-2.5.1-4ubuntu1~0.1 amd64

0 ответов

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