Во-первых, я хочу прямо заявить, что я действительно «обожаю» этот ответ. У меня есть опыт работы в сети системным администратором, но мои сетевые знания не такие глубокие, как у большинства. Так что, надеюсь, я сделаю это правильно. И если кто-то, кто знает лучше, читает это, пожалуйста, прокомментируйте или даже отредактируйте, чтобы исправить.
При запуске команды ss
(статистика сокетов) с -s
флагом, который показывает состояние сокета. Итак, зная, что:
Что
Total: 973 (kernel 996)
значит? Что естьTotal
и что естьkernel
? ПочемуTotal
кажется меньше чемkernel
?
Насколько мне известно, системные сокеты не истекают сразу после использования. Итак, насколько мне известно, 973
это отражение общего числа активных сокетов за вычетом истекших сокетов, но 996
к ядру подключены 23
оставшиеся случайные сокеты, которые ядро еще не успело очистить. Эта страница о настройке ядра дает хороший обзор концепции того, как ядро работает с сокетами и как можно настроить систему для лучшего управления сокетами на уровне ядра.
В строке
TCP: 600 (estab 280, closed 73, orphaned 0, synrecv 0, timewait 0/0), ports 333
, что означает словоports
?
ports 333
Просто является подсчет всех портовой деятельности в вашей системе в данный конкретный момент. В 333
матчах с суммой estab 280
и closed 73
. Подробности об этих портах будут обобщены ниже этого списка. Но в контексте сокетов, которые в основном указывают на наличие линий, существуют доступные 600
сокеты 600
, 333
которые в некоторой степени связаны с портами в системе. Для получения более подробной информации о том, что такое сокет по сравнению с портом, прочитайте этот превосходный ответ о переполнении стека .
Что означает звездочка (
*
)?
В контексте примера вы показываете:
Transport Total IP IPv6 * 996 - -
Видите, как 996
общее количество ядра Total: 973 (kernel 996)
? Это *
соответствует сокетам, которые просто открыты / управляются независимо от их транспортного уровня на уровне ядра.
Но это сказал, да ... Это все довольно запутанно на уровне новичка.