У меня есть сервер MediaTemple DV. Я видел много предупреждений QOS для "numothersock", который определяется как:
Количество сокетов, кроме TCP. Локальные (UNIX-домен) сокеты используются для связи внутри системы. Сокеты UDP используются, например, для запросов службы доменных имен (DNS). UDP и другие сокеты также могут использоваться в некоторых очень специализированных приложениях (агенты SNMP и другие).
Как я могу определить, какое приложение / демон / и т. Д. Создает эти сокеты? Лимит - 300, и в последнее время мы его превышаем по несколько раз в день.
Заранее спасибо.
netstat -nap
p shows the process id
netstat -an | grep ESTABLISHED | wc -l
Это подсчитает все открытые сокеты в системе и выдаст только общее количество. Конечно, вы также можете изменить ESTABLISHED на все, что вам нужно, например, порт или статус связи, такой как CONNECTED или LISTENING.
Чтобы посмотреть в реальном времени открытые соединения MySQL через сокет UNIX, выполните (от имени пользователя root):
watch -n1 'netstat -np | grep -i mysqld'
netstat -a
показывает им все. Или вы можете изучить его справочную страницу, чтобы отфильтровать только те типы соединений, которые вам интересны.
ss
netstat
является устарел, его замена ss
.
Для вашего случая, ss -pun
может быть полезно, что показывает UDP (-u
) сокеты с информацией о процессе (-p
) и не превращает номера портов в имена служб (-n
).
я использую ss -ptln
много чего показывает слушание (-l
) TCP-сокеты (-t
).
Это полезно с watch
если вы хотите убедиться, что ваше веб-приложение очищает свои TCP-сокеты:
watch ss -ptln
Вот еще несколько примеров с ss
.