V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lewin5
V2EX  ›  Linux

毫秒级监控 cpu,内存?

  •  
  •   lewin5 · 2019-09-22 20:57:24 +08:00 · 6738 次点击
    这是一个创建于 1918 天前的主题,其中的信息可能已经有所发展或是发生改变。

    linux 系统平常查看 cpu,mem 之类的用 iostat -kdx 1 或者 top 命令查看,一般都是秒级, 但是现在有的 sql 运行级别是毫秒级,30ms 就执行完了。 现在想以毫秒级别来监控 cpu 或者内存输出到日志或文件中,作为趋势图的参数, 有没有好点的办法呀或者特殊命令?谢谢了!

    17 条回复    2019-09-25 15:51:23 +08:00
    KomeijiSatori
        1
    KomeijiSatori  
       2019-09-22 21:03:12 +08:00
    cat /proc/stat
    reus
        2
    reus  
       2019-09-22 21:06:21 +08:00
    没有必要,就等于你毫秒级监控当前的时间秒数一样,采样率没必要过高,进程时间片都可能有几十毫秒,不是有需求的硬实时系统,这样做没有意义
    lewin5
        3
    lewin5  
    OP
       2019-09-23 09:12:01 +08:00
    @reus 现在就是想作为时序数据库里的数据输入用 echarts 显示变化趋势,正常秒级就行了,现在如果秒级的话基本都是 0,所以只能采样再细一点。
    Meridian
        4
    Meridian  
       2019-09-23 09:19:38 +08:00
    zabbix ?
    netdata ?
    Eds1995
        5
    Eds1995  
       2019-09-23 09:21:36 +08:00
    看看 twitter/rezolus( https://github.com/twitter/rezolus) 这个,rust 写的
    retanoj
        6
    retanoj  
       2019-09-23 09:25:42 +08:00 via iPhone
    @lewin5
    怎么感觉走偏了。。
    数据变动不应该是计算出来的嘛?
    如果与历史数据求差是 0,那也是可解释的吧。
    一定要追求“看到变动”吗?
    lewin5
        7
    lewin5  
    OP
       2019-09-23 09:39:06 +08:00
    @retanoj 因为主要是想体现我们数据库中 query 查询时系统参数的一些变动和 mysql 中查询时的一些对比,如果都是 0,图表显示就不友好,所以才想细化,把过程中的一些波动体现出来。
    lewin5
        8
    lewin5  
    OP
       2019-09-23 10:04:07 +08:00
    @Meridian netdata 这个有点像 influxDB+grafana,但是它的最大颗粒度好像也是 1s。
    optional
        9
    optional  
       2019-09-23 10:08:49 +08:00
    量子物理:你的测量行为会改变目标的状态哦
    Mogamigawa
        10
    Mogamigawa  
       2019-09-23 10:12:26 +08:00
    我记得当下的普通计算机能检测到的最短时间间隔是 2 纳秒, 取决于内存频率.
    retanoj
        11
    retanoj  
       2019-09-23 10:35:46 +08:00 via iPhone
    @lewin5
    所以我才说“有点走偏了”,有点为了监控而监控的味道。。
    Leigg
        12
    Leigg  
       2019-09-23 12:12:44 +08:00 via Android
    没意义
    reus
        13
    reus  
       2019-09-23 12:54:00 +08:00
    @lewin5 就算能做到,高频监控占用的负载也会极大影响系统本身,如果想要测量性能,可以采用执行多次再取平均值的方法,或者看看有没有内部的数据可以获取,反正一毫秒获取整体的 cpu 和内存是错误做法。
    Harv
        14
    Harv  
       2019-09-23 16:46:48 +08:00
    额...网上应该不少监控 CPU 占用率、MEM 占用率的源码啊,自己封装下不就好了?就改里面的采样时间
    liyunbo
        15
    liyunbo  
       2019-09-23 19:29:41 +08:00 via Android
    top -d 0

    这个可以吗

    就可以实时监控,不过 cpu 负载立马飙升。

    不知道能不能监测出来你的数据变化。

    或者有没有人知道,top -d 0.01 ,是不是 1 毫秒刷新一次
    liyunbo
        16
    liyunbo  
       2019-09-23 19:38:38 +08:00 via Android
    purplewall
        17
    purplewall  
       2019-09-25 15:51:23 +08:00
    asm("rdstc":"=a"(low),"=d"(high))
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   842 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.