• Linux上使用iftop可以查看网络使用情况,使用iotop可以查看磁盘io使用情况   首先需要安装iftop和iotop: yum install iftop yum install iotop   =======================================================...

    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€

    展开全文
  • linux 磁盘io监控 2018-04-14 14:23:44
    有的时候我们需要更进一步了解磁盘io的使用情况,那么本文就是重点讲解一下如何查看linux的磁盘io信息的。 一、iostat: 1、基本用法: $iostat -d -k 1 101)参数 -d 表示,显示设备(磁盘)使用状态;-k某些...
  • 1、CPU top(神器):比较System load 和 CPU core 的差值。 常用的分析指标: us:用于在用户态执行应用程序的时间百分比。 sy:用于运行内核代码的时间百分比。 id:CPU处于空闲的百分比。...(...
  • LinuxIO调度 2016-07-21 21:58:11
    前言IO调度发生在Linux内核的IO调度层。这个层次是针对Linux的整体IO层次体系来说的。从read()或者write()系统调用的角度来说,Linux整体IO体系可以分为七层,它们分别是: VFS层:虚拟文件系统层。由于内核要跟多种...
  • LinuxIO 隔离 跟内存管理那部分复杂度类似, IO 的资源隔离要讲清楚也是比较麻烦的。这部分内容都是这样,配置起来简单,但是要理解清楚确没那么简单。这次是跟 Linux 内核的 IO 实现有关系。对于 IO 的速度...
  • Linux下的IO监控与分析 2018-07-21 13:36:14
    近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下  各种IO监视工具在Linux IO 体系结构中的位置   源自 Linux Performance and Tuning Guidelines.pdf 1 系统级IO监控 iosta...
  • Linux下磁盘IO性能评估 2017-06-28 17:22:10
    Linux下磁盘IO性能评估 1、 sar –d命令 【说明】: l DEV表示磁盘设备名称 l tps:表示每秒到物理磁盘的传送数,也就是每秒的I/O流量。一个传送就是一个IO请求,多个逻辑请求可以被合并为一个物理I/O请求...
  • Linux排查IO跑高 2015-03-02 23:53:11
    以下是bash shell 脚本#!/bin/bash date >> /var/log/iowait.log ps auxf | awk '{if($8=="D") print $0;}' >> /var/log/iowait.log再将脚本用crontab定时执行crontab -e
  • LINUX IO调度策略 2019-09-02 16:52:59
    IO调度策略 IO调度策略一般有btrfs cfq,noop, deadline三种 附录: IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以IO调度器...而Linux中...
  • LinuxIO 隔离 2017-07-04 13:35:32
    这次是跟 Linux 内核的 IO 实现有关系。对于 IO 的速度限制,实现思路跟 CPU 和内存都不一样。 CPU 是针对进程占用时间的比例限制,内存是空间限制,而当我们讨论 IO 资源隔离的时候,实际上有两个资源需要考虑,一...
  • linux 直接IO机制 2011-03-01 19:21:00
    直接 I/O 的动机 在介绍直接 I/O...在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操
  • Linux IO磁盘篇整理小记 2020-04-26 19:46:00
    可以看到%idle(%idle小于70%说明IO压力已经比较大了)和%util的值都处于非正常状态。不过这里并不讲述Kafka的问题排查过程,反而是来讲述下IO指标的一些知识。每次遇到需要查看磁盘相关信息的时候,一些指标都会...
  • 在磁盘测试中最关心的几个指标分别为:iops(每秒执行的IO次数)、bw(带宽,每秒的吞吐量)、lat(每次IO操作的延迟)。 当每次IO操作的block较小时,如512bytes/4k/8k等,测试的主要是iops。 当每次IO操作的block较大...
  • LinuxIO调度算法 2016-10-12 22:27:39
    当一个新的IO请求加入到请求队列时,操作系统的通用块设备层会调用IO调度器来决定这个请求在队列中的确切位置。调度器会让请求队列中的请求按照磁盘上的扇区来进行排序。如果从这个请求列表中按照顺序取出请求进行...
  • 一、CPU 使用proc文件系统,"proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。...在Linux的内核中,有一个全 局变量:Jiffies。 Jiffie
  • linuxIO调度算法 2016-06-02 21:58:04
    Linux IO调度程序是块设备I/O子系统的主要组件,它介于通用块层和块设备驱动程序之间,如下图所示。当Linux内核组件要读写数据时,并非一有请求便立即执行,而是将请求放入请求(输入)队列,并推迟执行。为什么如此...
  • 1. FIO安装CentOS下:$ yum install fio2. FIO简介FIO是测试IOPS的非常好的工具,用来对硬件进行压力...FIO输出结果详细解释可参见:https://tobert.github.io/post/2014-04-17-fio-output-explained.html 3. FIO参
  • 原文地址: https://www.0xffffff.org/2017/05/01/41-linux-io/ 写在前面 在开始正式的讨论前,我先抛出几个问题: 谈到磁盘时,常说的HDD磁盘和SSD磁盘最大的区别是什么?这些差异会影响我们的系统设计吗? ...
  • LinuxIO调度器-CFQ 2013-10-17 13:50:50
    最近由于一些控制IO带宽的需求,开始研究CFQ以及对应的IO cgroup,今天baidu了一下,竟然发现没有多少中文的介绍,所以准备写一个系列,介绍一下这个调度器,粗粗想了一下,大概可以灌四篇水,包括CFQ的基本介绍,...
  • http://www.linuxidc.com/Linux/2011-06/37674.htm I/O 调度算法再各个进程竞争磁盘I/O的时候担当了裁判的角色...在linux下面列出4种调度算法 CFQ (Completely Fair Queuing 完全公平的排队)(elevator=cfq):
1 2 3 4 5 ... 20
收藏数 25,558
精华内容 10,223
热门标签