ss 命令输出详解
ss 全名socket statistics,是iproute2中的一员
ss已经替代netstat,大热于江湖。但是关于ss命令输出的内容,是什么意思呢?

[root@test]# ss -s
Total: 26437 (kernel 27730)
TCP:   31961 (estab 25762, closed 6003, orphaned 70, synrecv 0, timewait 5985/0), ports 0 Transport Total     IP        IPv6

*         27730     -         -        

RAW       0         0         0        

UDP       21        13        8        

TCP       25958     25073     885      

INET      25979     25086     893      

FRAG      0         0         0

Total: 26437 (kernel 27730) 是什么意思?为什么Total的值小于kernel?

Transport Total     IP        IPv6
*         27730     -         - 
* 又代表什么?

网上全是千篇一律,对于输出格式的文档却没有说明

关于*

答:仅是和简单的打开、管理相关的sockets,而不管在内核级别的传输是什么层

关于total 和kernel 的 数量不一致的解释:

答:系统socket 使用后不会立即过期,所以 26437 是所有active sockets 减去过期sockets.。27730 是 连接到kernel sockets,包含(27730-26437)剩余的 还没有被 kernel清理的sockets。
http://tweaked.io/guide/kernel/
这篇关于内核调优的页面很好地概述了内核如何处理套接字的概念,以及如何调整系统以更好地管理内核级别的套接字。

输出格式字段说明

netid 它表示套接字类型和传输协议, 当它不明确时:tcp、udp、raw、u str是unix_stream的缩写,u_dgr是unix数据报套接字,nl是netlink,p_raw和p_dgr是raw和datagram数据包套接字

第二列是状态。此处显示套接字状态。这些名称是标准TCP名称,但UNCON除外,它不能用于TCP,但对于其他类型的未连接的套接字是正常的。同样,可以隐藏此列。

然后两列(recv-q和send-q)显示排队等待接收和发送的数据量。

最后两列显示了套接字的本地地址和端口以及它的对等地址(如果套接字已连接)。

如果给出了选项-o、-e或-p,则不在固定位置显示选项,而是用空格对分隔:选项:值。如果值不是一个数字,它将以值列表的形式显示,括在(…)用逗号分隔


硬翻外国文档

https://superuser.com/questions/885250/what-does-the-output-of-ss-s-mean

socket 和port 的区别

https://stackoverflow.com/questions/152457/what-is-the-difference-between-a-port-and-a-socket/152863#152863

ss命令详解

https://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html

Linux创建sockets原理

https://ops.tips/blog/how-linux-creates-sockets/

通过本文知道,kernel 的数值 是取得kernel 全部的sockets,而且不能知道 这些sockets 具体是被哪些占用,就算用不同的namespace,也是一样

# Create a bunch of sockets using our
# example in C
./sockets.out

Check that we have a bunch of sockets

cat /proc/net/sockstat

sockets: used 296

TCP: inuse 5 orphan 0 tw 2 alloc 108 mem 3

UDP: inuse 1 mem 0

UDPLITE: inuse 0

RAW: inuse 0

FRAG: inuse 0 memory 0

Create a network namespace

ip netns add namespace1

Get into it

ip netns exec namespace1 /bin/bash

Check how /proc/net/sockstat shows the same

number of allocated sockets.

TCP: inuse 0 orphan 0 tw 0 alloc 108 mem 3

UDP: inuse 0 mem 0

UDPLITE: inuse 0

RAW: inuse 0

FRAG: inuse 0 memory 0

转载于:https://blog.51cto.com/foxhound/1944473

[转帖]ss 输出格式说明的更多相关文章

  1. [转帖] SS, SP, BP 三个寄存器

    SS, SP, BP 三个寄存器 https://blog.csdn.net/vspiders/article/details/55669265 这么看 计算机组成原理 还有 考试的很多题目非常有用啊 ...

  2. js的Date对象

    1.构造Date对象 var dt = new Date(); //获取当地包含日期和时间的对象,格式为:Thu Aug 31 2017 09:15:43 GMT+0800 (中国标准时间) 2.使用 ...

  3. @JsonFormat的导包问题

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")//注解可以以该格式注入格式@JsonFormat(locale="zh& ...

  4. 洛谷P3804 【模板】后缀自动机

    题目描述 给定一个只包含小写字母的字符串 SS , 请你求出 SS 的所有出现次数不为 11 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串 SS ...

  5. 洛谷 P3804 后缀自动机

    题目描述 给定一个只包含小写字母的字符串SS , 请你求出 SS 的所有出现次数不为 11 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串SS 输出 ...

  6. <fmt:formatDate>标签的输出格式:

    <fmt:formatDate>标签的输出格式:  d   月中的某一天.一位数的日期没有前导零.      dd   月中的某一天.一位数的日期有一个前导零.      ddd   周中 ...

  7. C#中Console.WriteLine()函数输出格式详解

    格式项都采用如下形式: {index[,alignment][:formatString]} 其中"index"指索引占位符,这个肯定都知道: ",alignment&q ...

  8. SAS 输入与输出格式

    SAS 输入与输出格式 一.认识SAS中的数据格式 SAS 中的格式有: 数字型 字符型 日期型 1.其中数字型的格式有一下集中表示方式: 整型数值:321 浮点数值:321.123 带逗号的数值:1 ...

  9. Spring4 MVC ContentNegotiatingViewResolver多种输出格式实

    前段时间在一个项目里面发现,针对Excel的处理没有一个公用的视图,来个下载的需求就要自己去写一堆POI的东西,终于有一天给我也来了几个,还是按照以前的方式来写,写多了真心想吐,后面想想还是有必要整个 ...

  10. ContentNegotiatingViewResolver多种输出格式实例: json/jsp/xml/xls/pdf

    ContentNegotiatingViewResolver多种输出格式实例: json/jsp/xml/xls/pdf 本例用的是javaConfig配置 以pizza为例. json输出需要用到的 ...

随机推荐

  1. Eureka:Spring Cloud服务注册和发现组件

    Eureka:Spring Cloud服务注册和发现组件 问题总结 Eureka 两大组件? Eureka 服务注册与发现? Eureka Server 集群? Eureka 自我保护机制? 问题答案 ...

  2. Java的特性、内容和环境的配置

    Java的特性和优势 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 JDK包含JRE包含JVM JDK:Java Development Kit JRE:Java Run ...

  3. 04 链表(上):如何实现LRU缓存淘汰算法?

    一.什么是链表? 1.和数组一样,链表也是一种线性表. 2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构. 3.链表中的每一个内存块被称为 ...

  4. JavaImprove--Lesson01--枚举类,泛型

    一.枚举 认识枚举类 枚举是一种特殊的类 枚举的格式: 修饰符  enmu   枚举类名{ 名称1,名称2: 其它成员 } //枚举类 public enum A { //枚举类的第一列必须是罗列枚举 ...

  5. C#判断字符串是否是有效的XML格式数据

    说明 在try-catch语句块中,创建XmlDocument对象,并使用LoadXml方法加载xml字符串.如果没有异常,则说明xml字符串是有效的,返回true,反之为false. 代码实现 // ...

  6. Ocelot(.NET API Gateway)

    一.介绍 Ocelot 是一个.NET API 网关 面向使用.NET运行微服务/面向服务的体系结构的人员,这些体系结构需要统一的系统入口点. Ocelot将HttpRequest对象操作到由其配置指 ...

  7. Python中的@abstractmethod

      @abstractmethod 是 Python 中 abc 模块(Abstract Base Classes)提供的一个装饰器,用于声明抽象方法.抽象方法是指在抽象类中声明但没有提供具体实现的方 ...

  8. 质效提升 | 聊聊QA与业务测试

    上面一篇文章<质效提升 | QA不做业务需求测试,你怎么看>主要讨论的是QA 和业务需求测试相关的问题,文章发出后收到了很多小伙伴的反馈,这里把很多有意义的反馈放在下面,希望对你有用. 约 ...

  9. Kuasar成为CNCF官方项目,探索容器运行时新纪元

    本文分享自华为云社区<Kuasar成为CNCF官方项目,探索容器运行时新纪元!>,作者:云容器大未来. 北京时间12月20日,云原生计算基金会(CNCF)正式接纳多沙箱容器运行时项目 Ku ...

  10. 一图看懂CodeArts Inspector 三大特性,带你玩转漏洞管理服务

    ​​​​本文分享自华为云开发者联盟公众号<一图看懂华为云CodeArts Inspector三大特性,带你玩转漏洞管理服务>. 华为云漏洞管理服务CodeArts Inspector是面向 ...