不说了,上工具

#cat    buddyinfo.sh
#!/bin/sh
BC_MUTI(){
#subtraction
if [[ -n $1 && -n $2 ]];then
res1=$(printf "%.2f" `echo "scale=2;($1*$2)"|bc`)
echo $res1
fi
} MESG(){
local GROUP="$1"
local KEY=$2
local VALUE=$3
local MEASURE=$4 if [[ -n $VALUE ]];then
echo -e "$(date "+%F %H:%M:%S"),$GROUP,$KEY,$VALUE,$MEASURE" >> $REAL_LOG
return 0
fi
} BC_BUDDY(){
aa=$1
bb=$2
let "res1=$aa*2**$bb"
echo $res1
} CONVERT_BUDDY_VALUE(){
start=$1
MAX=`cat /proc/buddyinfo | grep "Normal"| awk -F"Normal" '{print $2}'|awk '{print NF}'`
MAX=`echo "$MAX - 1" | bc`
buddy_values=`cat /proc/buddyinfo | grep "Normal"| awk -F"Normal" '{print $2}'`
array2=(
$buddy_values
)
bb=`echo ${array2[@]:$start:$MAX}` count=0
final_vvv=0
for value in ${bb[@]};do
vvv=`BC_BUDDY $value $count`
count=`echo "$count +1 "|bc`
final_vvv=`echo "$final_vvv + $vvv"|bc`
done echo $final_vvv
} LOOP_VMSTAT(){
while [[ 0 == 0 ]] ;do
sleep 1
CALCULATE_VMSTAT
done
} CALCULATE_VMSTAT(){
timestamp=$(date "+%Y-%m-%d-%H:%M:%S")
order1=`CONVERT_BUDDY_VALUE 1`
order2=`CONVERT_BUDDY_VALUE 2`
order3=`CONVERT_BUDDY_VALUE 3`
order4=`CONVERT_BUDDY_VALUE 4`
order5=`CONVERT_BUDDY_VALUE 5`
order6=`CONVERT_BUDDY_VALUE 6`
order7=`CONVERT_BUDDY_VALUE 7`
order8=`CONVERT_BUDDY_VALUE 8`
order9=`CONVERT_BUDDY_VALUE 9`
order10=`CONVERT_BUDDY_VALUE 10`
printf "%-20s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s\n" $timestamp $order1 $order2 $order3 $order4 $order5 $order6 $order7 $order8 $order9 $order10
}
main(){
printf "%-20s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s %-7s\n" "timestamp" "order1" "order2" "order3" "order4" "order5" "order6" "order7" "order8" "order9" "order10"
LOOP_VMSTAT
}
main
[root@host /home/ahao.mah]
#sh buddyinfo.sh
timestamp order1 order2 order3 order4 order5 order6 order7 order8 order9 order10 2017-04-26-20:53:20 9952240 4975948 2487866 1243711 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:22 9952309 4975928 2487861 1243712 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:23 9952392 4975970 2487869 1243713 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:24 9952429 4975992 2487877 1243713 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:26 9952449 4975993 2487879 1243713 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:27 9952485 4975998 2487880 1243713 621496 309892 154207 76867 38313 19124
2017-04-26-20:53:28 9952490 4976003 2487883 1243715 621497 309892 154207 76867 38313 19124
2017-04-26-20:53:29 9952475 4975996 2487882 1243716 621498 309892 154207 76867 38313 19124
2017-04-26-20:53:31 9952404 4975956 2487881 1243716 621498 309892 154207 76867 38313 19124
2017-04-26-20:53:32 9952494 4975998 2487886 1243716 621498 309892 154207 76867 38313 19124

buddyinfo 内存碎片数据采集的更多相关文章

  1. 关于linux 内存碎片指数

    linux针对每一个node的每个zone的每个order,都有一个碎片指数来描述当前的碎片程度,也就是 extfrag_index 参数: extfrag_index这个要展示出来,需要内核编译了两 ...

  2. Atitit.每月数据采集与备份 v4

    Atitit.每月数据采集与备份 v4 备份检查表 r12 00cate 00item im Inputmethod  ok ok Log Log ok cyar Cyar log  ... ok c ...

  3. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2      ...

  4. Atitit.数据检索与网络爬虫与数据采集的原理概论

    Atitit.数据检索与网络爬虫与数据采集的原理概论 1. 信息检索1 1.1. <信息检索导论>((美)曼宁...)[简介_书评_在线阅读] - dangdang.html1 1.2. ...

  5. 现场打印智能无线PDA安卓POS 条码识别、打印、数据采集销售开单收银管理软件

    现场打印安卓POS 条码识别.打印.数据采集管理软件 案例: 经营日化品牌,从事小型超市和日用品商店的批发配送业务. 公司以前的销售模式:三个业务员负责跑市场,每个人负责一个区域,平均每天每个人要去到 ...

  6. 大家都在用PDA条码扫描枪管理企业仓库 PDA无线数据采集程序

    PDA数据采集器又称之为手持终端,这些都是用于扫描货物条码统计数据用的,PDA扫描枪有效提高企业仓库管理,在仓库管理中引入条码技术,对仓库的到货检验.入库.出库.调拨.移库移位.库存盘点等各个作业环节 ...

  7. Python网络数据采集系列-------概述

    这是一个正在准备中的系列文章,主要参考的是<Web Scraping with Python_Collecting Data from the Modern Web-O'Reilly(2015) ...

  8. 【数据采集】VBA数据采集可用 COM 组件

    windows 中提供了4个COM组件都可以进行数据采集. Wininet WinHttp XmlHttp MSHTML https://msdn.microsoft.com/en-us/librar ...

  9. Flume NG安装部署及数据采集测试

    转载请注明出处:http://www.cnblogs.com/xiaodf/ Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等. 1 安装部署Fl ...

随机推荐

  1. linux 中使用iptables 防止ddocs及cc攻击配置 。

    #防止SYN攻击,轻量级预防 iptables -N syn-floodiptables -A INPUT -p tcp –syn -j syn-floodiptables -I syn-flood ...

  2. 关于使用chrome插件改动全部的站点的响应responseHeaders头的注意

    1 眼下我掌握的调试技巧非常不方便,如今使用的是浏览器动作,每次都须要点击那个popup页面弹出,然后右键->查看元素,才干显示它的调试面板.一点击某些位置它又没有了; 2 改动响应报头的值时, ...

  3. Javascript中数据实时推送

    数据变化后前端需要更新,有几种方式:(参考http://www.xiaocai.name/post/cf1f9_7b6507) .利用setInterval函数,每隔n秒去异步拉取数据.对数据实时性要 ...

  4. [Wikioi 1226]倒水问题

    题目描写叙述 Description 有两个无刻度标志的水壶.分别可装 x 升和 y 升 ( x,y 为整数且均不大于 100 )的水. 设另有一水 缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶 ...

  5. session理解

    Session,底层的实现就是一个Map<集合>,有些Data在Server内存中,APP要分层.Data在各个层之间肯定要以一种形态传递(泛型),之前Servlet dao.getLis ...

  6. leetCode 20.Valid Parentheses (有效的括号) 解题思路和方法

    Valid Parentheses  Given a string containing just the characters '(', ')', '{', '}', '[' and ']', de ...

  7. 各种JSON的maven引用

    一.jackjson maven <jackjson.version>2.8.8</jackjson.version> <dependency> <group ...

  8. mysql视图,索引和存储过程

    一:视图 视图又叫虚表.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成. 具体 ...

  9. POJ 1200 Hash

    我的hash从来没写对过........ (白学了快一年OI --原来连个hash都没写对过) 但是 但是 今天是一个值得纪念的日子. 看看标题 我竟然在写hash的题解. (好了好了 废话少说) 题 ...

  10. ComboxBox控件、checklistbox控件和listbox控件的组合开发

    第一步:先创建一个WinForm窗体应用程序,按照下图所示的进行布局. 第二步:为ComboxBox控件.checklistbox控件和listbox控件和button控件设置属性 第三步:在代码中的 ...