Linux查看网络和IO性能问题


Linux上使用iftop可以查看网络使用情况,使用iotop可以查看磁盘io使用情况

首先需要安装iftop和iotop:

yum install iftop

yum install iotop

===================================================================================================================================

iftop使用说明:

安装完成后,使用iftop -n命令可以查看网络的使用情况:

上传一个大文件之后,可以看到网络使用情况:

想要跟踪一下具体是哪个进程正在占用网络,可以使用下面的命令:

netstat -antop |grep106.120.78.190

如果对应IP有多个连接存在,可能出现下面的结果(可以对一下上面的column名):

netstat参数含义:

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

第一个2880这一列是接收队列,如果其中某个连接这个队列积压很多,说明就是这个链接产生的大流量,进一步对照PID这一列,可以找到对应的PID为37973,然后使用ps命令来查看进程的详细信息:

ps参数说明:

-a显示所有终端机下执行的进程,除了阶段作业领导者之外。

a显示现行终端机下的所有进程,包括其他用户的进程。

-A显示所有进程。

-c显示CLS和PRI栏位。

c列出进程时,显示每个进程真正的指令名称,而不包含路径,参数或常驻服务的标示。

-C<指令名称> 指定执行指令的名称,并列出该指令的进程的状况。

-d  显示所有进程,但不包括阶段作业领导者的进程。

-e 此参数的效果和指定"A"参数相同。

e  列出进程时,显示每个进程所使用的环境变量。

-f 显示UID,PPIP,C与STIME栏位。

f 用ASCII字符显示树状结构,表达进程间的相互关系。

-g<群组名称>此参数的效果和指定"-G"参数相同,当亦能使用阶段作业领导者的名称来指定。

g 显示现行终端机下的所有进程,包括群组领导者的进程。

-G<群组识别码> 列出属于该群组的进程的状况,也可使用群组名称来指定。

h  不显示标题列。

-H 显示树状结构,表示进程间的相互关系。

-j或j  采用工作控制的格式显示进程状况。

-l或l  采用详细的格式来显示进程状况。

L  列出栏位的相关信息。

-m或m  显示所有的执行绪。

n  以数字来表示USER和WCHAN栏位。

-N 显示所有的进程,除了执行ps指令终端机下的进程之外。

-p<进程识别码> 指定进程识别码,并列出该进程的状况。

p<进程识别码>此参数的效果和指定"-p"参数相同,只在列表格式方面稍有差异。

r 只列出现行终端机正在执行中的进程。

-s<阶段作业> 指定阶段作业的进程识别码,并列出隶属该阶段作业的进程的状况。

s 采用进程信号的格式显示进程状况。

S  列出进程时,包括已中断的子进程资料。

-t<终端机编号> 指定终端机编号,并列出属于该终端机的进程的状况。

t<终端机编号>此参数的效果和指定"-t"参数相同,只在列表格式方面稍有差异。

-T  显示现行终端机下的所有进程。

-u<用户识别码> 此参数的效果和指定"-U"参数相同。

u 以用户为主的格式来显示进程状况。

-U<用户识别码> 列出属于该用户的进程的状况,也可使用用户名称来指定。

U<用户名称> 列出属于该用户的进程的状况。

v 采用虚拟内存的格式显示进程状况。

-V或V  显示版本信息。

-w或w  采用宽阔的格式来显示进程状况。

x 显示所有进程,不以终端机来区分。

X  采用旧式的Linux i386登陆格式显示进程状况。

-y 配合参数"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位

-<进程识别码>此参数的效果和指定"p"参数相同。

--cols<每列字符数> 设置每列的最大字符数。

--columns<每列字符数> 此参数的效果和指定"--cols"参数相同。

--cumulative  此参数的效果和指定"S"参数相同。

--deselect 此参数的效果和指定"-N"参数相同。

--forest  此参数的效果和指定"f"参数相同。

--headers 重复显示标题列。

--help  在线帮助。

--info  显示排错信息。

--lines<显示列数> 设置显示画面的列数。

--no-headers此参数的效果和指定"h"参数相同,只在列表格式方面稍有差异。

--group<群组名称> 此参数的效果和指定"-G"参数相同。

--Group<群组识别码> 此参数的效果和指定"-G"参数相同。

--pid<进程识别码> 此参数的效果和指定"-p"参数相同。

--rows<显示列数> 此参数的效果和指定"--lines"参数相同。

--sid<阶段作业> 此参数的效果和指定"-s"参数相同。

--tty<终端机编号> 此参数的效果和指定"-t"参数相同。

--user<用户名称> 此参数的效果和指定"-U"参数相同。

--User<用户识别码> 此参数的效果和指定"-U"参数相同。

--version 此参数的效果和指定"-V"参数相同。

--widty<每列字符数> 此参数的效果和指定"-cols"参数相同。

常用命令:

ps -ef

ps aux

ps aux输出格式

USER PID %CPU %MEM VSZ RSS TTY STATSTART TIME COMMAND

USER: 进程拥有者

PID:pid

%CPU:占用的cpu使用率

VSZ:占用的内存使用率

RSS:占用的虚拟内存大小

TTY:是否为登入者执行的程序,若为tty1-tty6,为本机登入者,若为pts/??,则为远程登入者。

STAT:程序的状态,R:正在执行中,S:睡眠,T:正在检测或者停止,Z:死亡程序

START:程序开始时间

TIME:程序运行的时间

COMMAND:所执行的指令。

=========================================================================================================================================

iotop使用说明:

首先使用命令iotop查看信息:

在这个界面按p键可以将TID变为PID,按o键可以将当前活跃的显示出来而不是显示所有进程:

根据PID可以查看一下对应的进程:

优质内容筛选与推荐>>
1、Servlet从数据库取数据打包成json然后传值到前端
2、火狐浏览器报错“support.mozilla.org
3、将图片返回到前端
4、树莓派的.bashrc和.bash_aliases文件
5、s验证数据库中字段值是否重复


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号