buddyinfo 内存碎片数据采集
不说了,上工具
#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 内存碎片数据采集的更多相关文章
- 关于linux 内存碎片指数
linux针对每一个node的每个zone的每个order,都有一个碎片指数来描述当前的碎片程度,也就是 extfrag_index 参数: extfrag_index这个要展示出来,需要内核编译了两 ...
- Atitit.每月数据采集与备份 v4
Atitit.每月数据采集与备份 v4 备份检查表 r12 00cate 00item im Inputmethod ok ok Log Log ok cyar Cyar log ... ok c ...
- C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
目 录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章 系统架构... 3 1.1 硬件构架图... 3 1.2 ...
- Atitit.数据检索与网络爬虫与数据采集的原理概论
Atitit.数据检索与网络爬虫与数据采集的原理概论 1. 信息检索1 1.1. <信息检索导论>((美)曼宁...)[简介_书评_在线阅读] - dangdang.html1 1.2. ...
- 现场打印智能无线PDA安卓POS 条码识别、打印、数据采集销售开单收银管理软件
现场打印安卓POS 条码识别.打印.数据采集管理软件 案例: 经营日化品牌,从事小型超市和日用品商店的批发配送业务. 公司以前的销售模式:三个业务员负责跑市场,每个人负责一个区域,平均每天每个人要去到 ...
- 大家都在用PDA条码扫描枪管理企业仓库 PDA无线数据采集程序
PDA数据采集器又称之为手持终端,这些都是用于扫描货物条码统计数据用的,PDA扫描枪有效提高企业仓库管理,在仓库管理中引入条码技术,对仓库的到货检验.入库.出库.调拨.移库移位.库存盘点等各个作业环节 ...
- Python网络数据采集系列-------概述
这是一个正在准备中的系列文章,主要参考的是<Web Scraping with Python_Collecting Data from the Modern Web-O'Reilly(2015) ...
- 【数据采集】VBA数据采集可用 COM 组件
windows 中提供了4个COM组件都可以进行数据采集. Wininet WinHttp XmlHttp MSHTML https://msdn.microsoft.com/en-us/librar ...
- Flume NG安装部署及数据采集测试
转载请注明出处:http://www.cnblogs.com/xiaodf/ Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等. 1 安装部署Fl ...
随机推荐
- Selenium Webdriver——操作隐藏的元素display属性
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框, ...
- 【ACM】poj_2356_Find a multiple_201308061947
Find a multipleTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 4988 Accepted: 2159 Spe ...
- 【ACM】hdu_1092_A+BIV_201307261630
A+B for Input-Output Practice (IV)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3276 ...
- cogs 9. 中心台站建设。。。
9. 中心台站建设 ★★☆ 输入文件:zpj.in 输出文件:zpj.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] n个城市之间有通讯网络,从这n个城 ...
- cogs 983. [NOIP2003] 数字游戏
983. [NOIP2003] 数字游戏 ★☆ 输入文件:numgame.in 输出文件:numgame.out 简单对比时间限制:1 s 内存限制:128 MB 题目描述 丁丁最近沉 ...
- 自己写的php curl库实现整站克隆
有时候常常会用到一些在线手冊,比方国内或国外的.有些是訪问速度慢,有些是作者直接吧站点关闭了,有些是server总是宕机.所以还是全盘克隆到自己server比較爽.所 已这里给了一个demo < ...
- poj1426--Find The Multiple(广搜,智商题)
Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18527 Accepted: 749 ...
- APP漏洞自动化扫描专业评测报告(中篇)
前言 上一篇中通过对阿里聚安全[1].360App漏洞扫描[2].腾讯金刚审计系统[3].百度移动云测试中心[4]以及AppRisk Scanner[5] 在收费情况.样本测试后的扫描时间对比和漏洞项 ...
- C++开发人脸性别识别教程(19)——界面美化
在这篇博文中将完毕<C++开发人脸性别识别>的收尾工作.主要内容分为两部分:加入视频暂定功能.界面规范化. 一 视频暂停功能 严格来说这个视频暂定功能算是视频人脸性别识别的一个遗留问题,本 ...
- Linux 服务具体解释
acpid ACPI(全 称 Advanced Configuration and Power Interface)服务是电源管理接口. 建议全部的笔记本用户开启它. 一些server可能不须要 ac ...