在网上找的抱歉忘了原链接了额

#!/usr/bin/env python
#
#
import os
import commands
import re
import sys (status1, result1) = commands.getstatusoutput("/bin/ps -ef|grep /data/program/payment/payment-channel/|/bin/grep -v grep|/bin/awk '{print $2}'")
channel_pid = result1
(status2, result2) = commands.getstatusoutput("sudo /data/program/jdk/bin/jstat -gcutil %s 1s 1|/bin/awk '{print $3,$4,$5,$6,$7,$8,$9}'|/bin/sed -n '2'p" %(channel_pid))
(status3, result3) = commands.getstatusoutput("sudo /data/program/jdk/bin/jstat -gccapacity %s 1s 1|/bin/awk '{print $1,$2,$7,$8,$11,$12}'|/bin/sed -n '2'p" %(channel_pid)) #格式化为列表
result4 = result2.split(' ')
result5 = result3.split(' ') if result5[4] == result5[5]:
channel_jvm_P = result4[2]
else:
channel_jvm_P = ((float(result5[5])*float(result4[2])/100) / float(result5[5]))*100 if result5[2] == result5[3]:
channel_jvm_O = result4[1]
else:
channel_jvm_O = ((float(result5[2])*float(result4[1])/100) / float(result5[3]))*100
if result5[0] == result5[1]:
channel_jvm_E = result4[0]
else:
channel_jvm_E = ((float(result5[1])*float(result4[0])/100) / float(result5[1]))*100 channel_jvm_YGC = result4[3]
channel_jvm_YGCT = result4[4]
channel_jvm_FGC = result4[5]
channel_jvm_FGCT = result4[6]
channel_jvm_P = channel_jvm_P
channel_jvm_E = channel_jvm_O
channel_jvm_O = channel_jvm_E #channel_jvm_YGC+channel_jvm_YGCT+channel_jvm_FGC+channel_jvm_FGCT
channel_jvm_info = channel_jvm_YGC + ' ' + channel_jvm_YGCT + ' ' + channel_jvm_FGC + ' ' + channel_jvm_FGCT + '\n' (status6, result6) = commands.getstatusoutput("/usr/bin/tail -1 /tmp/channel_jvm_info_test.txt|/bin/awk '{print $1,$2,$3,$4}'")
result7 = result6.split(' ')
channel_jvm_old_YGC = result7[0]
channel_jvm_old_YGCT = result7[1]
channel_jvm_old_FGC = result7[2]
channel_jvm_old_FGCT = result7[3] files = open('/tmp/channel_jvm_info_test.txt','w+')
files.writelines(channel_jvm_info)
files.close() channel_jvm_YGC_value = float(channel_jvm_YGC)-float(channel_jvm_old_YGC)
channel_jvm_YGCT_value = float(channel_jvm_YGCT)-float(channel_jvm_old_YGCT)
channel_jvm_FGC_value = float(channel_jvm_FGC)-float(channel_jvm_old_FGC)
channel_jvm_FGCT_value = float(channel_jvm_FGCT)-float(channel_jvm_old_FGCT)
channel_jvm_P_value = float(channel_jvm_P)
channel_jvm_E_value = float(channel_jvm_E)
channel_jvm_O_value = float(channel_jvm_O) result = 'channel_jvm_info is channel_jvm_YGC=%s channel_jvm_YGCT=%0.3f channel_jvm_FGC=%s channel_jvm_FGCT=%0.3f channel_jvm_P=%0.3f channel_jvm_E=%0.3f channel_jvm_O=%0.3f| channel_jvm_YGC=%s;5;10;0 channel_jvm_YGCT=%0.3f;0.2;0.5;0 channel_jvm_FGC=%s;1;2;0 channel_jvm_FGCT=%0.3f;0.5;1;0 channel_jvm_P=%0.3f;80;90;0 channel_jvm_E=%0.3f;80;90;0 channel_jvm_O=%0.3f;80;90;0' %(int(channel_jvm_YGC_value),float(channel_jvm_YGCT_value),int(channel_jvm_FGC_value),float(channel_jvm_FGCT_value),float(channel_jvm_P_value),float(channel_jvm_E_value),float(channel_jvm_O_value),int(channel_jvm_YGC_value),float(channel_jvm_YGCT_value),int(channel_jvm_FGC_value),float(channel_jvm_FGCT_value),float(channel_jvm_P_value),float(channel_jvm_E_value),float(channel_jvm_O_value))
if (channel_jvm_YGC_value > 10 and channel_jvm_E_value > 90) or channel_jvm_YGC_value > 10 or channel_jvm_YGCT_value > 0.5 or channel_jvm_FGC_value > 2 or (channel_jvm_FGC_value > 2 and channel_jvm_O_value > 90) or channel_jvm_FGCT_value > 0.5 or channel_jvm_P_value > 90:
print result
sys.exit(2)
elif (channel_jvm_YGC_value > 5 and channel_jvm_E_value > 80) or channel_jvm_YGC_value > 5 or channel_jvm_YGCT_value > 0.2 or channel_jvm_FGC_value > 1 or (channel_jvm_FGC_value > 1 and channel_jvm_O_value > 80) or channel_jvm_FGCT_value > 0.2 or channel_jvm_P_value > 80:
print result
sys.exit(1)
elif (channel_jvm_YGC_value < 5 and channel_jvm_E_value < 80) or channel_jvm_YGC_value < 5 or channel_jvm_YGCT_value < 0.2 or channel_jvm_FGC_value < 1 or (channel_jvm_FGC_value < 1 and channel_jvm_O_value < 80) or channel_jvm_FGCT_value < 0.2 or channel_jvm_P_value < 80:
print result
sys.exit(0)

  

python jvm数据的更多相关文章

  1. python和数据科学(Anaconda)

    Python拥有着极其丰富且稳定的数据科学工具环境.遗憾的是,对不了解的人来说这个环境犹如丛林一般(cue snake joke).在这篇文章中,我会一步一步指导你怎么进入这个PyData丛林. 你可 ...

  2. 用 Python 排序数据的多种方法

    用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

  3. python爬虫+数据可视化项目(关注、持续更新)

    python爬虫+数据可视化项目(一) 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#) 爬取内容:全国实时温度最低的十个城市气 ...

  4. python调用数据返回字典dict数据的现象2

    python调用数据返回字典dict数据的现象2 思考: 话题1连接:https://www.cnblogs.com/zwgbk/p/10248479.html在打印和添加时候加上内存地址id(),可 ...

  5. python调用数据返回字典dict数据的现象1

    python调用数据返回字典dict数据的现象1 思考: 可以看到这两种情况,区别在于构造函数make()里赋值给字典dict的方式不同.使用相同的调用方式,而结果却完全不同.可以看到第二种情况才是我 ...

  6. python 小数据池,is and "==",decode ,encode

    一:小数据池 1.python运行中的缓存: 2.目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 3.python 缓存数据:缓存:int, str, bool.         ...

  7. 【转】Python用数据说明程序员需要掌握的技能

    [转]Python用数据说明程序员需要掌握的技能 https://blog.csdn.net/HuangZhang_123/article/details/80497951 当下是一个大数据的时代,各 ...

  8. MySQL实验准备(二)--Python模拟数据(MySQL数据库)

    Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...

  9. 数据挖掘(二)用python实现数据探索:汇总统计和可视化

    今天我们来讲一讲有关数据探索的问题.其实这个概念还蛮容易理解的,就是我们刚拿到数据之后对数据进行的一个探索的过程,旨在了解数据的属性与分布,发现数据一些明显的规律,这样的话一方面有助于我们进行数据预处 ...

随机推荐

  1. JMeter-Window10系统下设置环境变量

    首先我们右击此电脑(我的电脑),点击属性   接下来我们就可以进入到控制面板主页,点击[高级系统设置]   在系统属性里面,点击[环境变量]按钮   在环境变量里面,点击[新建]按钮   接下来我们输 ...

  2. Neutron新进展|DragonFlow在Mitaka版本中的Roadmap

    OpenStack网络在Mitaka版本中将有哪些新变化?1月11日到12日,DragonFlow的PTL——Eran Gampel,Kuryr的PTL——Gal Sagie,和他们的老大从以色列来到 ...

  3. java异常中的finally(一)

    finally是保证语句能一定执行的.不管程序是否会报错,我们把程序一定要执行的代码放在finally中. 比如说流的关闭,不管在读写的过程中是否报错,一定要关闭流,可以把流的关闭操作放在finall ...

  4. js字符串和数组的相互转化

    一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); 二 ...

  5. The import java.util cannot be resolved

    原因:项目buildpath不对 解决方案: 右键项目-------build path--------configuration build path 的选择libraries找到JRE(这个时候你 ...

  6. Token和session 详解

    Token的含义 原文链接 这只是一个思路 1.Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在 ...

  7. WPF/WP/Silverlight/Metro App代码创建动画的思路

    在2010年之前,我都是用Blend创建动画,添加触发器实现自动动画,后来写成代码创建的方式.如今Blend已经集成到Visual Studio安装镜像中了,最新的VS2015安装,Blend的操作界 ...

  8. mysql 视图、触发器、事物、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  9. Thinkphp5.0 获取新增数据的ID

    // 方法1 insertGetId方法新增数据并返回主键值使用getLastInsID方法: Db::name('user')->insert($data); $userId = Db::na ...

  10. 网络编程基础--多线程---concurrent.futures 模块---事件Event---信号量Semaphore---定时器Timer---死锁现象 递归锁----线程队列queue

    1 concurrent.futures 模块: # from abc import abstractmethod,ABCMeta # # class A(metaclass=ABCMeta): # ...