• Linux查看网络和IO性能问题


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

    首先需要安装iftop和iotop:

    yum install iftop

    yum install iotop

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

    iftop使用说明:

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

    Machine generated alternative text:195Kb 192.168.6.4 192.168.6.4 192.168.6.4 489KB TOTAL : peak: 391Kb 42.159.65.78 168.63.129.16 106.126.78.196 21.3Kb 33.9Kb 55 .2Kb rates : 781Kb 688b 160b 688b 166b 848b 3.63Kb 5.92Kb 1.67Kb 854b 982b 160b 5.06Kb 6.91Kb 12 . OKb 1.52Kb 2.96Kb 548b 427b 6.98Kb 191b 3.64Kb 3.57Kb 6.60Kb

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

    Machine generated alternative text:1.91Mb 192.168.8.4 192.168.6.4 3.81Mb 106.126.78.196 42.159.65.78 168.63.129.16 5.72Mb 7.63Mb 95.5Kb 3.37Mb 161Kb 3.71Mb 9.54Mb 99.4Kb 3 .61Mb 776b 1.48Kb 274b 213b

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

    netstat -antop |grep 106.120.78.190

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

    Machine generated alternative text:[root@OanCentOS65 netstat -antop Active Internet connections (servers Proto Recv-Q Send-Q Local Address and established) Fo reign Add ress State PID/Proq ram name TimerMachine generated alternative text:[root@DanCentOS65 netstat 1@6.12€.78.19€ -antop 192.168.€.4.22 .168.€.4.22 .168.€.4.22 192.168.€.4.22 g rep tcp tcp tcp tcp 52 1@6.12€.78. 19€:47812 ESTABLISHED 38€39/sshd ESTABLISHED 37973/sshd ESTABLISHED 37791/sshd ESTABLISHED 37855/sshd keepalive (6885. keepalive (5422 keepalive (5549

    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命令来查看进程的详细信息:

    Machine generated alternative text:[root@Dancent0S65 06:34 root root ps 38€39 €.€ €.2 38506 €.€ €.€ aux I grep 38639 39€8 ? 1€33€8 82€ pts/3 sshd: daniel [privl ep 38€39

    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查看信息:

    Machine generated alternative text:《 O I s 、 8 03 - 3 :311YM YSIO 01 - s 、 8 33 3 YSIO 01 N 18*.S 山 Il 亠 10 ㄩ 亠 10 山 「 '3188 018 00 」 寸 、 山 q 6E38E 00 」 寸 丶 山 q I 00 」 寸 丶 山 q 00 」 寸 丶 00 」 寸 丶 山 q 寸 00 」 寸 丶 S 00 」 寸 丶 9 00 」 寸 丶 山 q 00 」 寸 丶 山 q 8 00 」 寸 丶 山 q 6 00 」 寸 丶 山 q 91 00 」 寸 丶 山 q 11 00 」 寸 丶 山 q 00 」 寸 丶 山 q El 00 」 寸 丶 山 q VI 00 」 寸 丶 山 q SI 00 」 寸 丶 山 q 91 00 」 寸 丶 山 q LI 00 」 寸 丶 山 q 81 00 」 寸 丶 山 q 61 00 」 寸 丶 山 q 00 」 寸 丶 山 q It 00 」 寸 丶 山 q 00 」 寸 丶 山 q t't 00 」 寸 丶 山 q St 00 」 寸 丶 山 q 00 」 寸 丶 山 q Lt 00 」 寸 丶 山 q 8t 00 」 寸 丶 山 q 6t

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

    Machine generated alternative text:Total PIC 3912€ DISK READ: USER be/4 root B/S Total DISK WRITE: €.0€ B/S 345.92 K,'s 0.00 B/S

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

    Machine generated alternative text:[ root@Dancent0S65 €g:24 €g:25 root root ps 3912€ €.6 €.€ 39124 €.€ €.€ aux I grep 39126 1€31€4 852 pts/2 1€33€8 82€ pts/4 rz -e €:ø€ grep 3912€

  • 相关阅读:
    第二周作业
    十二周
    十一周
    第十周
    第九周
    第八周
    第七周
    第六周
    实验报告三
    第四周课程总结&试验报告(二)
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/8600943.html
Copyright © 2020-2023  润新知