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. 使用Bot Framework建立你的第一个聊天机器人

    今天微软给我推送了一个邮件,大概是微软近期开发了很多人工智能相关的API,无意中看到了Bot Framework,就点进去看了看似乎还蛮有意思的.于是准备搭建一个环境试试. 第一步需要下载Bot Ap ...

  2. 图片标注-----labelimage

    本人用的环境是   win10  +  python3.6 pip install labelimg 安装成功之后,找到  Anaconda 安装目录下的  Lib  , 然后找到   site-pa ...

  3. 使用NPOI导出Excel,并在Excel指定单元格插入图片

    一.添加Nuget引用 二.弹框选择保存路径 string fileName = $"记录_{DateTime.Now.ToString("yyyyMMdd_HHmmss" ...

  4. .NET技术分享日活动-202104

    2021年4月27日下午,个人组织举办了山东地区的山东.NET技术分享日活动.围绕互联网技术.大数据.机器学习.业务实践等方向进行创新技术的实践分享. 本次技术分享日活动面向了山东地区广大的.NET ...

  5. 华为云GaussDB亮相金融业数据库技术大会

    本文分享自华为云社区<华为云GaussDB亮相金融业数据库技术大会,激发金融行业发展新动能>,作者:GaussDB 数据库 . 近日,由北京金融信息化研究所主办的2023金融业数据库技术大 ...

  6. 从原生迈向混合,小而美团队如何搞定APP高效定制

    摘要:洞悉华为云数字化差旅App的架构变迁之路,体验混合开发魅力. ​​本文分享自华为云社区<DTSE Tech Talk 第21期丨从原生迈向混合,小而美团队如何搞定APP高效定制?>, ...

  7. CWE发布2021年最危险的25种软件缺陷

    摘要:CWE最危险的25种软件缺陷,是NVD过去两年中遇到的最常见和影响最大的问题指示性的列表. CWE Top25 可以帮助开发人员.测试人员和用户,以及项目经理.安全研究人员和教育工作者深入了解最 ...

  8. 想从单体架构演进到分布式架构,SBA 会是一个不错的选择

    摘要:SBA 可以看成是单体架构和微服务架构之间的一个折中方案,它也是按照业务领域进行服务划分,但服务划分的粒度相比微服务要更粗.从单体架构演进到 SBA,会比直接演进到微服务架构更加容易. 本文分享 ...

  9. Weex原理及架构剖析

    早期H5和Hybrid方案的本质是,利用客户端App的内置浏览器(也就是webview)功能,通过开发前端的H5页面满足跨平台需求.比如PhoneGap cordova ionic -- 该方案提升开 ...

  10. umount.nfs4: /home/videorec/sharedir: device is busy

    用umount取消挂载时报错设备繁忙:device is busy.原因是还有进程在打开目录下的文件,可以先杀死进程,再卸载,或者强制卸载 umount 使用umount强制卸载,参数如下: -l  ...