当前位置: 首页 > 科技观察

用于测量磁盘活动的Linux命令

时间:2023-03-17 12:00:07 科技观察

Linux发行版提供了几个用于测量磁盘活动的有用命令。让我们来看看其中的几个。Linux系统提供了一组方便的命令来帮助您查看磁盘有多忙,而不仅仅是它有多满。在本文中,我们将研究用于查看磁盘活动的五个非常有用的命令。可能必须将其中两个命令(iostat和ioping)添加到您的系统中,这两个命令还需要您使用sudo权限,并且所有这五个命令都提供了查看磁盘活动的有用方法。这些命令中最简单和最直观的可能是dstat。dtstat尽管dstat命令以字母“d”开头,但它提供的统计信息远不止磁盘活动。如果只想查看磁盘活动,可以使用-d选项。如下所示,您将获得一个连续的磁盘读/写测量列表,直到使用CTRL-c停止。请注意,在第一个报告信息之后,显示中的每一行都将报告下一个时间间隔的磁盘活动,默认值为一秒。$dstat-d-dsk/total-readwrit949B73k65k0<==firstsecond024k<==secondsecond016k00^C在-d选项后包含一个数字会将间隔设置为该秒数.$dstat-d10-dsk/total-readwrit949B73k65k81M<==前五秒021k<==第二五秒09011B^C请注意,报告的数据可能以许多不同的单位显示-例如、M(Mb)、K(Kb)和B(字节)。如果没有选项,dstat命令还会显示很多其他信息-指示CPU如何使用时间、显示网络和分页活动、报告中断和上下文切换。$dstat你没有选择任何统计信息,默认使用-cdngy。--total-cpu-usage---dsk/total--net/total----paging-----system--usrsysidlwaistl|阅读令状|接收发送|进出|intcsw0010000|949B73k|00|03B|38650010000|00|218B932B|0|016k|64B468B|00|6481^Cdstat命令提供了对整个Linux系统性能的宝贵见解,几乎可以用作灵活而强大的命令来代替类似的程序,例如vmstat、netstat、iostat和ifstat。遗留工具的集合,此命令结合了这些遗留工具的功能。要深入了解dstat命令可以提供的其他信息,请参阅有关dstat命令的文章。iostatiostat命令通过观察设备处于活动状态的时间量与其平均传输速率之间的关系来帮助监控系统输入/输出设备的负载。它有时用于评估跨磁盘的活动平衡。$iostatLinux4.18.0-041800-generic(butterfly)12/26/2018_x86_64_(2CPU)avg-cpu:%user%nice%system%iowait%steal%idle0.070.010.030.050.0099.85DevicetpskB_read/skB_wrtn/skb_readkb_wrtnloop00.000.000.0010480loop10.000.000.000.003650loop20.000.000.000.000.0010560loop30.000.010.010.00161690loop40.000.020.004866940loop80.000.000.0010530loop90.010.010.00189490loop100.000.000.00560loop110.000.000.0070900loop120.000.000.0011600loop130.000.000.001080loop140.000.000.0035720loop150.010.010.00200260loop160.000.000.00240当然,当当您只想关注磁盘时,Linux环回设备上可用的所有统计信息可能会使结果混乱。但是,该命令确实提供了一个-p选项,它允许您只查看磁盘-如以下命令所示。$iostat-psdaLinux4.18.0-041800-generic(butterfly)12/26/2018_x86_64_(2CPU)avg-cpu:%user%nice%system%iowait%steal%idle0.070.010.030.05读取0.0099.85设备tpskB_/skB_wrtn/skB_readkB_wrtnsda1.060.8972.542843737232815784sda11.040.8872.542821733232815784请注意,tps是指每秒的传输量。您还可以让iostat提供重复报告。在下面的示例中,我们使用-d选项每五秒进行一次测量。$iostat-psda-d5Linux4.18.0-041800-generic(butterfly)12/26/2018_x86_64_(2CPU)DevicetpskB_read/skB_wrtn/skB_readkB_wrtnsda1.060.8972.512843749232834048sda11.040.8872.512821745232834048DevicetpskB_read/skB_wrtn/skB_readkB_wrtnsda0.800.0011.20056sda10.800.0011.20056如果您希望省略第一个(启动后的统计信息)报告,请在命令中添加-y。$iostat-psda-d5-yLinux4.18.0-041800-generic(butterfly)12/26/2018_x86_64_(2CPU)设备tpskB_read/skB_wrtn/skB_readkB_wrtnsda0.800.0011.20056sda1.0.0.20,我们看第二个磁盘驱动器。$iostat-psdbLinux4.18.0-041800-generic(butterfly)12/26/2018_x86_64_(2CPU)avg-cpu:%user%nice%system%iowait%steal%idle0.070.010.030.05读取0.0099.85设备tpskB_/skB_wrtn/skB_readkB_wrtnsdb0.000.020.004866940sdb20.000.000.00486140sdb10.000.010.00353440iotopiotop命令是用于查看磁盘I/O的类似于顶级的实用程序。它收集Linux内核提供的I/O使用信息,因此您可以查看哪些进程需要最多的磁盘I/O。在下面的示例中,循环时间设置为5秒。显示将自动更新,覆盖以前的输出。$sudoiotop-d5TotalDISK读取:0.00B/s|总磁盘写入:1585.31B/s当前磁盘读取:0.00B/s|当前磁盘写入:12.39K/sTIDPRIOUSERDISKREADDISKWRITESWAPINIO>COMMAND32492be/4root0.00B/s0.00B/s0.00%0.12%[kworker/u8:1-ev~_power_efficient]208be/3root0.00B/s1585.31B/s0.00%0.11%[jbd2/sda1-8]1be/4root0.00B/s0.00B/s0.00%0.00%initsplash2be/4root0.00B/s0.00B/s0.00%0.00%[kthreadd]3be/0root0.00B/s0.00B/s0.00%0.00%[rcu_gp]4be/0root0.00B/s0.00B/s0.00%0.00%[rcu_par_gp]8be/0root0.00B/s0.00B/s0.00%0.00%[mm_percpu_wq]iopingioping命令是一个完全不同的工具,但它可以报告磁盘延迟——即磁盘响应请求需要多长时间——以及这有助于诊断磁盘问题。$sudoioping/dev/sda14KiB<<33610.00s0.01s0K0KNE00E-0%33630.01s0.00s0K0KNE00E-0%313570.00s0.00s0K0K---1S10%bash33640.00s0.00s8032K756KN--1S10%睡眠29310.00s0.00s0K0K---1I10%kworker/u8:2-e33560.00s0.00s0K0K-E00E-0%<睡眠>33600.00s0.00s0K0KNE00E-0%33620.00s0.00s0K0KNE00E-0%如果您只想查看磁盘统计信息,可以使用以下命令轻松管理它:$atop|grepDSKDSK|sda|忙0%|阅读122901|写3318e3|avio0.67毫秒|DSK|安全数据库|忙0%|阅读1168|写103|avio0.73毫秒|DSK|sda|忙2%|阅读0|写92|avio2.39毫秒|DSK|sda|忙2%|阅读0|写94|毫秒|DSK|sda|忙2%|阅读0|写94|avio2.43毫秒|DSK|sda|忙2%|阅读0|写94|92|avio2.43ms|^CUnderstandingDiskI/OLinux提供了足够多的命令让您很好地了解磁盘的工作情况并帮助您关注潜在的问题或减速。希望这些命令之一会告诉您该怎么做。有时需要质疑磁盘性能。偶尔使用这些命令将有助于确保当您需要检查磁盘时,尤其是繁忙或缓慢的磁盘,它们是显而易见的。