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

写了个bash脚本查看系统运行概况

  •  
  •   Tianpu · 2012-09-06 07:47:41 +08:00 · 3349 次点击
    这是一个创建于 4221 天前的主题,其中的信息可能已经有所发展或是发生改变。
    系统debian6 x86_64

    因为要几十个小时运行个占用大量资源易死锁的东西,开了一堆监控看
    所以想集中到一个窗口,造了个轮子

    #!/bin/bash
    for((i=1;i<=999999999;i++))
    do
    ins=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $1}')
    outs=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $9}')
    sleep 1s
    ine=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $1}')
    oute=$(cat /proc/net/dev | sed -n '4,4p' | sed 's/eth0://g' | awk '{print $9}')
    in=$[($ine-$ins)/1024]
    out=$[($oute-$outs)/1024]
    echo "in-out-k:" $in $out " conn:" $(netstat -an | wc -l) " inode:" $(df -i | grep sdb | awk '{print $3}') " bi-bo:"$(vmstat | sed -n '3,3p' | awk '{print " " $9 " " $10}') " load:" $(uptime | sed 's/,//g' | awk '{print $8" on "$1}')
    done

    in-out-k 以k为单位显示当前进出流量
    conn 就是netstat -an的数量,我需要看的是上下的巨大差异
    inode sdb盘的文本使用情况
    bi-bo sdb盘的bi bo其它盘基本没啥读写
    load 当前负载
    on 当前时间

    第一次写bash 基本上是边查边写 效果还不错啊

    输出是这样子的:

    root@v2ex:~# ./show
    in-out-k: 1882 194 conn: 444 inode: 15479255 bi-bo: 364 1856 load: 9.40 on 19:44:58
    in-out-k: 2066 172 conn: 393 inode: 15479348 bi-bo: 364 1856 load: 9.40 on 19:44:59
    in-out-k: 2003 178 conn: 485 inode: 15479441 bi-bo: 364 1856 load: 9.40 on 19:45:00
    in-out-k: 3574 325 conn: 471 inode: 15479595 bi-bo: 364 1856 load: 9.40 on 19:45:01
    in-out-k: 1912 185 conn: 1058 inode: 15479680 bi-bo: 364 1855 load: 11.45 on 19:45:02
    in-out-k: 2049 201 conn: 938 inode: 15479805 bi-bo: 364 1855 load: 11.45 on 19:45:03
    in-out-k: 4342 382 conn: 800 inode: 15480006 bi-bo: 364 1855 load: 11.45 on 19:45:04
    in-out-k: 2929 287 conn: 570 inode: 15480150 bi-bo: 364 1855 load: 11.45 on 19:45:05
    in-out-k: 3508 297 conn: 655 inode: 15480302 bi-bo: 364 1855 load: 11.45 on 19:45:06
    in-out-k: 2678 243 conn: 674 inode: 15480443 bi-bo: 364 1855 load: 12.53 on 19:45:07
    in-out-k: 1694 159 conn: 630 inode: 15480510 bi-bo: 364 1855 load: 12.53 on 19:45:08
    in-out-k: 1332 140 conn: 1234 inode: 15480587 bi-bo: 364 1855 load: 12.53 on 19:45:09
    in-out-k: 2622 237 conn: 1130 inode: 15480713 bi-bo: 364 1855 load: 12.53 on 19:45:10
    in-out-k: 3116 273 conn: 986 inode: 15480862 bi-bo: 364 1854 load: 12.53 on 19:45:11
    in-out-k: 3213 302 conn: 825 inode: 15481017 bi-bo: 364 1854 load: 11.85 on 19:45:12
    in-out-k: 2826 268 conn: 969 inode: 15481146 bi-bo: 364 1855 load: 11.85 on 19:45:13
    6 条回复    1970-01-01 08:00:00 +08:00
    siko
        1
    siko  
       2012-09-06 08:58:02 +08:00   ❤️ 1
    顶你。。
    Tianpu
        2
    Tianpu  
    OP
       2012-09-06 12:04:35 +08:00
    @siko 亲,你啥时候也来这里了 :)
    ratazzi
        3
    ratazzi  
       2012-09-06 12:08:50 +08:00
    我觉得 htop dstat 这两个足够了
    Tianpu
        4
    Tianpu  
    OP
       2012-09-06 12:10:46 +08:00
    @ratazzi 那时候还不知道呢 不过DIY总是最高效的 还可以随时加新的 sed awk真好用
    seaghx
        5
    seaghx  
       2012-09-06 12:44:52 +08:00
    虽然看不懂,但好像很厉害……
    :)
    ElmerZhang
        6
    ElmerZhang  
       2012-09-06 13:37:00 +08:00
    下次还是用 dstat 吧,可以自己开发模块
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1732 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:39 · PVG 00:39 · LAX 09:39 · JFK 12:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.