不说了,上工具

#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. Spring Cloud-hystrix Dashboard(八)

    单机模式 1.创建一个dashboard项目 2.引入依赖 <!--histrix依赖--> <dependency> <groupId>org.springfra ...

  2. 洛谷—— P1041 传染病控制

    https://www.luogu.org/problem/show?pid=1041 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜 ...

  3. SEO 爬虫原理介绍

    一篇关于网络爬虫程序的一些原理及体系结构纯技术文章,一些地方可能不会看的非常明确.对于SEO行业,常常和搜索引擎及其爬虫程序打交道,细致浏览下,一些不清楚而自己又非常想了解的地方,能够借助搜索来需找相 ...

  4. How to fix yum errors on CentOS, RHEL or Fedora

    Yum is a package management tool for installing, updating and removing rpm packages on RedHat-based ...

  5. java封装AES加密算法

    在实际coding中会常常遇到往数据库存入密码时加密.URL传參时的加密.由此简单封装了下java中的AES加密算法. 0.import类 import java.security.SecureRan ...

  6. Linux命令(八)——vi编辑器的使用

    vi编辑器是linux系统下的标准正文编辑器,有三种基本模式:命令行模式.插入模式和底行命令模式. 1.命令行模式:控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入插入模式或底行命令模式下 ...

  7. badboy提示脚本错误解决方法

    1.输入URL,提示脚本错误 解决办法:打开IE浏览器,工具->internet选项->高级,如图所示去掉禁用脚本调试 2.badboy内置浏览器,提示脚本错误解决办法 解决办法:badb ...

  8. thrift RPC 框架的自我搭建

    安装thrift rpc   安装的系统是Centos 7 未成功的方法 :(原因没找到,但是还是要记录下) 安装依赖库 yum install automake libtool flex bison ...

  9. Choerodon 的微服务之路(二):Choerodon 的微服务网关

    链接地址:https://my.oschina.net/choerodon/blog/2254030

  10. C++ 类型转换操作与操作符重载 operator type() 与 type operator()

    类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换.转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的 ...