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

2012-09-06 07:47:41 +08:00
 Tianpu
系统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
3477 次点击
所在节点    Linux
6 条回复
siko
2012-09-06 08:58:02 +08:00
顶你。。
Tianpu
2012-09-06 12:04:35 +08:00
@siko 亲,你啥时候也来这里了 :)
ratazzi
2012-09-06 12:08:50 +08:00
我觉得 htop dstat 这两个足够了
Tianpu
2012-09-06 12:10:46 +08:00
@ratazzi 那时候还不知道呢 不过DIY总是最高效的 还可以随时加新的 sed awk真好用
seaghx
2012-09-06 12:44:52 +08:00
虽然看不懂,但好像很厉害……
:)
ElmerZhang
2012-09-06 13:37:00 +08:00
下次还是用 dstat 吧,可以自己开发模块

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47026

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX