Linux操作系统-命令-netstat

#  之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是freetopvmstat

#  接下来还需要把另外2个命令也写下来:netstatiostat

  最近认真地读了1篇关于"定位性能瓶颈"的文章(http://techblog.youdao.com/?p=961),所以性能这个事儿还是得一步步来,知识积累到一定程度,在运用的过程中就形成了经验。那么前面提到的free、top、vmstat、netstat、iostat都可以辅助我们干些什么呢?其实,在那篇文章里面都已经提到了:可以获得到以下各类情况,协助我们分析性能。

  • CPU占用过高
  • 物理内存富余量少
  • 磁盘io占用过高
  • 发生换入、换出过多
  • 网络链接数过多

  所以说,起码这5个Linux命令还是比较重要的,得把命令"展示的项"弄清楚了才行,然后再逐渐地进一步去向更高的技术迈进。

#  废话多了又不废电

#  在那篇文章里,也提到了这么几个工具:

  • Jstat - 查看Java堆的占用率
  • Jstack
    • 死锁
    • 死循环
    • 数据结构异常
    • 集中等待外部服务的响应
  • Jmap - /
  • Mat - 分析内存中什么对象引用了大量的对象

#  废话多了又不废电

#  top的扩展用法

  • shift + p :将进程按照CPU占用率从高到低排序,便于逐一排查
  • shift + m:查看内存占用情况
  • shift + h :观察线程级别的CPU使用分布

-------------------------以上内容参考并摘自http://techblog.youdao.com/?p=961,看吧,命令和工具加起来不到10个-------------------------

#  下面开始介绍netstat了

#  严重参考:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

概念

Netstat,打印"网络连接"、"路由表"、"接口状态"、"伪装连接"、"多播成员"这些与网络相关的信息。

在Linux内的1个用法

netstat

可使用的参数

#提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

输出列表内各字段的介绍

Active Internet connections

备注

Proto

显示连接使用的协议

Recv-Q

接收队列

Send-Q

发送队列

Local Address

Foreign Address

State

 

Active UNIX domain sockets

备注

Proto

显示连接使用的协议

RefCnt

连接到本套接口上的进程号

Flags

Type

套接口的类型

State

套接口的当前状态

I-Node

Path

连接到套接口的其它进程使用的路径名

原文地址:https://www.cnblogs.com/musicmovie/p/4745593.html