广告
返回顶部
首页 > 资讯 > 操作系统 >Linux查看日志文件写入速度的4种方法详解
  • 937
分享到

Linux查看日志文件写入速度的4种方法详解

摘要

目录简介使用dd使用pv使用cv命令编写小脚本举一反三简介 有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的负载情况,因为一般情况下,日志写入越快,说明系统负载越重。 本文就来介绍下linux中查看日志

目录
  • 简介
    • 使用dd
    • 使用pv
    • 使用cv命令
    • 编写小脚本
  • 举一反三

    简介

    有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的负载情况,因为一般情况下,日志写入越快,说明系统负载越重。

    本文就来介绍下linux中查看日志增长速度的几种方法,如下:

    使用dd

    首先要介绍的是dd,因为dd命令几乎所有主流发行版都自带,无需额外安装,如下:

    $tail-Fapp.log|ddof=/dev/nullstatus=progress
    3875840bytes(3.9MB)copied,8.228797s,471kB/s
    

    如上,使用tail -F获取新写入的数据,然后用管道将数据交给dd,dd将数据拷贝到/dev/null,其中status=progress是用来显示拷贝速度的,可见,我们日志的写入速度是471 kB/s

    使用pv

    pv命令可以看做是带进度的cp,如下:

    $yuminstall-ypv
    
    $tail-Fapp.log|pv>/dev/null
    2.05MiB0:00:03[330kiB/s][<=>]
    

    原理与dd类似,不过命令换成了pv。

    使用cv命令

    由于日志数据都是程序(如java)写入的,而在如下的伪文件中,存放着程序打开的文件信息,如下:

    • /proc/<pid>/fd:存放着打开的文件描述符
    • /proc/<pid>/fdinfo:存放着文件描述符写入到的offset

    于是定期的读取这个offset就可以知道文件的写入速度了,这也是cv命令的实现原理,如下:

    $yuminstall-ycv
    
    $cv-mcjava
    [1]javaapp.log100.0%(6.1GiB/6.1GiB)390.2KiB/s
    
    #实际上,由于Linux上大多数命令(如cp)没自带进度查看功能,而cv就成了很好的补充
    #比如查看cp复制文件的进度
    $cpapp.logapp.log.bak&cv-mccp
    

    新版cv命令已经改名为progress,安装不到cv包时,可试着安装progress包。

    编写小脚本

    通过写一个小脚本,定期观察文件大小,也可查看文件写入速度,如下:

    #每秒获取文件大小,通过减去上一秒的大小,即可计算出速度
    whilesleep1;do\
    sz=`stat-c%sapp.log`;\
    numfmt--from=auto--to=iec$((sz-psz));\
    psz=$sz;\
    done
    
    492K
    750K
    370K

    通过watch再加上观察,也能大PBdQZGoAjA致看出速度,如下:

    watch-d-t-n1duapp.log
    

    Linux查看日志文件写入速度的4种方法详解

    watch_du

    举一反三

    其实转念一想,如果我们在某个函数中打上日志,然后通过grep过滤出此日志,然后我们只要计算每秒输出的日志行数,这岂不就是函数执行的QPS了!

    #使用grep过滤出日志,tr删除非换行符,所以dd显示的是换行符的个数!
    $tail-Fapp.log\
    |grep--line-buffered'/order/get'\
    |stdbuf-oLtr-dc'\n'\
    |ddof=/dev/nullbs=1status=progress
    
    151bytes(151B)copied,15.523018s,0.0kB/s
    

    这里可以通过151/15计算出QPS是10,由于没有超过1000,所以看到的是0.0kB/s,如果使用pv命令,会更简单一些,如下:

    $tail-Fapp.log\
    |grep--line-buffered'/order/get'\
    |pv-l>/dev/null
    
    1440:00:03[11.5/s][<=>

    到此这篇关于Linux查看日志文件写入速度的4种方法详解的文章就介绍到这了,更多相关Linux查看日志文件写入速度内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

    --结束END--

    本文标题: Linux查看日志文件写入速度的4种方法详解

    本文链接: https://www.lsjlt.com/news/30992.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Linux查看日志文件写入速度的4种方法详解
      目录简介使用dd使用pv使用cv命令编写小脚本举一反三简介 有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的负载情况,因为一般情况下,日志写入越快,说明系统负载越重。 本文就来介绍下linux中查看日志...
      99+
      2022-06-11
      Linux查看日志文件写入速度 Linux查看日志文件 Linux 日志文件
    • Linux如何查看日志文件写入的速度
      今天小编给大家分享一下Linux如何查看日志文件写入的速度的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。使用dd首先要介绍的...
      99+
      2023-07-02
    • 在Linux终端动态查看mysql日志文件的方法
      这篇文章将为大家详细讲解有关在Linux终端动态查看mysql日志文件的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux终端动态查看mysql日志文件的方法...
      99+
      2022-10-18
    • logback中显示mybatis查询日志文件并写入的方法示例
      目录在logback中显示mybatis查询日志一、配置文件二、定制包的日志level三、通过logback-spring.xml文件将操作数据库sql记录到日志文件中网上看了很多篇...
      99+
      2022-11-13
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作