Является ли результат команды "ss" снимком использования сети?
Я использую команду "ss", чтобы проверить ситуацию в сети.
Это занимает много минут, потому что есть огромные соединения TCP.
Является ли результат выполнения команды ss снимком сети.
1 ответ
Ну нет, не совсем снимок.
Потому что он основывает свою работу на разборе информации из proc
виртуальная файловая система, содержимое которой меняется в зависимости от того, как вы посещаете ее каталоги и файлы. Эти файлы и каталоги на самом деле не существуют, они создаются на лету ядром, когда вы их посещаете, и это может занять некоторое время. Таким образом, вы не можете сделать "снимок" proc
, То же самое касается таких программ, как top
: это посещение всех /proc/<PID>/
каталоги, и это все время меняется.
Несколько вещей, которые могут помочь ускорить это, давая вам больше похожий на "снимок" (но не снимок) результат:
Как видно из его справочной страницы, ss
приступить к первому разбору /proc/net/tcp
, что может занять некоторое время. Отсюда --summary
опция:
-s, --summary
Print summary statistics. This option does not parse socket
lists obtaining summary from various sources. It is useful when
amount of sockets is so huge that parsing /proc/net/tcp is
painful.
Вы также можете использовать -n
опция "без разрешения" (некоторые другие программы, такие как tcpdump
или же wireshark
Также есть такая опция, которая сильно ускоряет ход вещей).
-n, --numeric
Do not try to resolve service names.