IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

好软件推荐 gnuplot 来做可视化数据

扶凯 2010-11-28 19:05:13 累计浏览 3,411 次
本机暂存

先给大家看个图。。。做得不好。。。这个是我学习 RHCA 中的调优课的一个工具,相当相当好。介绍给大家。ps 我发现所有调优都能数字化,bc 和 gnuplot 是最好的帮助了。

我们常用在 Linux 中有大量的软件会输出各种数据,有时肉眼看起来非常累,如果能做成可视化就非常方便,象硬盘的读写,网卡流量,日志之粗也可以用这个软件来转换成流量图。只要是可以形成x 和 y 的关系的都是可以做成这样的。

我们可以使用 gnuplot 的命令来生成一些数据,如果想常久使用,可以写成 gplot 的"配置",默认直接在终端中打下面的命令就好了,要是 ubuntu 之类的 Linux 做桌面就更加方便了,可以直接在图形上输出内容来。

1
2
3
4
5
6
7
8
9
10
11
set term png crop
set output 'flow1.png'
set multiplot
set xdata time
set timefmt "%H:%M:%S"
set xlabel "Time"
set ylabel "Bits per Second"
set xrange ["16:08:08":"16:14:46"]
set grid 
set style data lines
plot "hostflow.data" using 1:($4/1024) title "in" , '' using 1:($6/1024) title "out"

以后使用 ”Perl 网络编程“ 的风格来写代码注脚

第1行,主要是设置使用 png 的方法来输出,如果不加的 png ,不写这行直接默认从 x window 输出。
第2-5行,一个是设置输出的文件名,一个是设置多个输入,另外 xdata 是指数据是使用时间格式.
第6-7行,是设置x 和 y 的名字。
第8-10行,是设置一些输出的风格

先要收集一些数据,下面我有个 sar 的数据的例子。原始数据是使用 sar 抓出来的

LANG=C sar -n DEV 2 200 |grep eth0 > hostflow.data

生成大量的如下的数据

16:14:12         eth0      6.00   2635.00    360.00 3920464.50      0.00      0.00      0.00
16:14:14         eth0      8.00   1615.50    480.00 2373773.00      0.00      0.00      0.00
16:14:16         eth0     13.00   1720.00    780.00 2531208.00      0.00      0.00      0.00
16:14:18         eth0     11.50   1835.50    690.00 2702716.50      0.00      0.00      0.00
16:14:20         eth0     10.45   1942.79    626.87 2862716.92      0.00      0.00      0.00
16:14:22         eth0      7.50   5027.00    591.00 7542619.50      0.00      0.00      0.00
16:14:24         eth0      8.50   5273.50    510.00 7899681.00      0.00      0.00      0.00
16:14:26         eth0     12.00   1796.00    720.00 2643741.00      0.00      0.00      0.00
16:14:28         eth0     10.50   1668.50    630.00 2446601.00      0.00      0.00      0.00
16:14:30         eth0      9.50   1833.50    570.00 2700828.00      0.00      0.00      0.00
16:14:32         eth0      8.50   1555.00    510.00 2283765.50      0.00      0.00      0.00
16:14:34         eth0     10.50   2030.50    630.00 2977217.00      0.00      0.00      0.00
16:14:36         eth0      7.50   1003.50    450.00 1476341.00      0.00      0.00      0.00
16:14:38         eth0      9.00   1025.00    540.00 1500662.00      0.00      0.00      0.00
16:14:40         eth0     13.50    873.50    810.00 1263540.00      0.00      0.00      0.00
16:14:42         eth0     15.00   3615.50   1041.00 4902174.50      0.00      0.00      0.00
16:14:44         eth0     10.50   1419.50    630.00 2063027.00      0.00      0.00      0.00
16:14:46         eth0      8.00   1885.00    480.00 2615272.50      0.00      0.00      0.00

 如果我们想用来来实现一个象 mrtg 图一样的流量显示功能,我们先用 sar 来生成实时的流量数据,然后使用 gnuplot 来生成图,使用容易的程度比 mrtg 还好。

gnuplot -persis loadavg.gplot

详细使用可以看下面IBM这个文章,比我这个详细多了,我只能告诉大家有这么一个软件

http://www.ibm.com/developerworks/cn/linux/l-gnuplot/index.html

同分类推荐文章

  1. 对基本有序的序列排序算法 (2026-06-11 17:46:49)
  2. Four Levels Of Customer Understanding (2026-05-22 21:00:00)
  3. 除法的意义 (2026-04-12 20:52:17)

查看更多 算法 文章 →

建议继续学习

  1. 命令行画图工具gnuplot用法入门 (累计阅读 11,670)
  2. 浅谈TCP优化 (累计阅读 11,081)
  3. MySQL使用为什么要分库分表 (累计阅读 5,392)
  4. Java 6 JVM参数选项大全(中文版) (累计阅读 5,118)
  5. Shell的那些事儿 (累计阅读 4,542)
  6. innodb_flush_method带来的性能影响 (累计阅读 4,344)
  7. Linux系统初始化优化推荐策略 (累计阅读 4,301)
  8. 强大的纯JS数据图工具-flot (累计阅读 4,185)
  9. 分享一些可视信息设计资源 (累计阅读 4,077)
  10. Linux的IO调度器-CFQ (累计阅读 3,967)