- 浏览: 191436 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
find13:
学习
iReport中文教程 -
coderfly:
thanks !
iReport中文教程 -
月亮不懂夜的黑:
下载 学习。thanks!
iReport中文教程 -
yanqingluo:
谢谢,先转走.再验证.
eclipse maven debug -
周佳1986:
谢谢,分享。
iReport中文教程
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; import org.apache.log4j.Logger; import sun.management.ManagementFactory; import com.ailk.ts.message.bean.MonitorInfoBean; public class SystemInfoTools { final static boolean isNotWindows = System.getProperties().getProperty("os.name").toLowerCase().indexOf("windows") < 0; final static BigDecimal DIVISOR = BigDecimal.valueOf(1024); private final static Logger logger = Logger.getLogger(SystemInfoTools.class); public static int getPid(){ return Integer.parseInt(ManagementFactory.getRuntimeMXBean().getName().split("@")[0]); } public static MonitorInfoBean getMonitorInfoBean() { MonitorInfoBean monitorInfo = new MonitorInfoBean(); if(!isNotWindows){ monitorInfo.setMemUsage(500); return monitorInfo; } Runtime rt = Runtime.getRuntime(); BufferedReader in = null; try { int pid = getPid(); String[] cmd = { "/bin/sh", "-c", "top -b -n 1 | grep " + pid }; Process p = rt.exec(cmd); in = new BufferedReader(new InputStreamReader(p.getInputStream())); String str = null; String[] strArray = null; while ((str = in.readLine()) != null) { logger.debug("top: " + str); int m = 0; strArray = str.split(" "); for (int i = 0; i < strArray.length; i++) { String info = strArray[i]; if (info.trim().length() == 0){ continue; } if(m == 5) {//第5列为进程占用的物理内存值 String unit = info.substring(info.length() - 1); if(unit.equalsIgnoreCase("g")) { monitorInfo.setMemUseSize(Double.parseDouble(info)); } else if(unit.equalsIgnoreCase("m")) { BigDecimal memUseSize = new BigDecimal(info.substring(0, info.length() - 1)); monitorInfo.setMemUseSize(memUseSize.divide(DIVISOR, 2, BigDecimal.ROUND_HALF_UP).doubleValue()); } else { BigDecimal memUseSize = new BigDecimal(info).divide(DIVISOR); monitorInfo.setMemUseSize(memUseSize.divide(DIVISOR, 2, BigDecimal.ROUND_HALF_UP).doubleValue()); } } if(m == 8) {//第9列为CPU的使用百分比 monitorInfo.setCpuUsage(Double.parseDouble(info)); } if(m == 9) {//第10列为内存的使用百分比 monitorInfo.setMemUsage(Double.parseDouble(info)); } m++; } } } catch (IOException e) { e.printStackTrace(); } finally { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } return monitorInfo; } }
MonitorInfoBean.java
public class MonitorInfoBean { /** cpu使用率 */ private double cpuUsage; /** 内存使用率 */ private double memUsage; /** 内存使用的大小 */ private double memUseSize; public double getCpuUsage() { return cpuUsage; } public void setCpuUsage(double cpuUsage) { this.cpuUsage = cpuUsage; } public double getMemUsage() { return memUsage; } public void setMemUsage(double memUsage) { this.memUsage = memUsage; } public double getMemUseSize() { return memUseSize; } public void setMemUseSize(double memUseSize) { this.memUseSize = memUseSize; } }
发表评论
-
spring事务管理的几种方式
2014-06-19 20:38 6641原文:http://sishuok.com/forum/bl ... -
【转】<maven权威指南>学习笔记
2013-06-06 12:32 1105一些常用的命令 mvn help:effective-pom ... -
ubuntu 下安装oracle客户端oracle-xe-client
2012-12-13 16:19 1642本文转自 http://os.chinaunix.net/a2 ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
2012-12-11 23:46 5664本文转自:http://blog.csdn.net/ke ... -
【转】自动ssh登录的几种方法
2012-11-01 19:50 1040本文转自 http://blueicer.blog.51cto ... -
【转】ubuntu自动登录ssh
2012-11-01 19:47 1043本文转自 http://huqilong.b ... -
Linux下如何保持gnome-terminal窗口执行命令后停留而不立刻关闭(gnome-terminal -x)
2012-10-17 11:46 12001Linux下如何保持gnome-terminal窗口执行命令 ... -
Ajax 跨域代理
2012-05-23 14:56 1387使用了httpclient做代理请求。 import ... -
【转】Ubuntu10.04下安装oracle客户端 oracle-ex-client, 使用sqlplus
2012-04-27 11:55 1406本文来源于:http://329937021.iteye.co ... -
Ubuntu apt.conf 代理
2012-04-24 16:19 1708Acquire::http::Proxy "h ... -
svn st 状态详解
2012-04-03 14:32 31269svn st --help status (stat, st ... -
[转]整理关于JVM方面的知识点
2012-02-22 20:05 1011转自:http://furturestrategist.ite ... -
Java Selenium【转】
2011-12-29 15:51 2927本文转自 http://www.automationqa.co ... -
Java虚拟机classloader
2011-11-27 12:27 0当JVM(Java虚拟机)启动时,会形成由三个类加载器组 ... -
JVM内存模型
2011-11-27 12:25 596JVM内存模型(详见附件) -
HTTP 协议简介
2011-11-27 12:17 1052HTTP 协议简介(详见附件) 超文本传输协议( ... -
Java Enum 多态
2011-11-27 12:13 1388Enum 多态,我没说错,不过Enum是不可以被继承的, ... -
eclipse maven debug
2011-11-26 11:59 31121、Debugging with the Maven ... -
在Maven2中运行单个测试用例并添加JVM参数【转】
2011-11-26 11:33 2305本文转自http://ralf0131.blogbus.com ... -
java 获取本地IP
2011-11-05 16:23 1035public static void getIP() { ...
相关推荐
内存使用率、总CPU百分比、获得物理总内存(、获得可用内存(G)、获取mac地址、获取分区信息使用空间 进程(XX)CPU百分比、进程(XX)占用的内存大小、进程(XX)占用的内存百分比。 PerformanceCount方面比较详细,...
在Linux系统下将cpu、内存等信息获取并放在同一个文件中的C++源码,需要g++才能编译
可以获取系统的内存和可用内存,cpu的实时使用率
用wpf+visifire实现获取Windows系统内存占用和CPU占用,界面用Visifire.Gauges展现。
C#获取CPU、内存、硬盘当前使用百分比函数。
实时获取指定进程的内存和cpu占用情况,刷新频率为100ms,是为工程写的,为了测试有效抓的msn的内存和cpu信息
描述如何通过SNMP协议通过网络读取远端电脑的实时性能参数
写一个小程序在后台记录每个进程的CPU使用情况,揪出锁屏后占用CPU的进程,于是自己写了一个C++类CPUusage,方便地监视不同进程的CPU占用情况。本人编程还只是个新手,如有问题请多多指教
操作MindManager时候进程缓慢、高CPU使用百分比.docx
获取系统的名称,运行内存,磁盘,cpu占用信息。。 很久之前写的,一直在运行,定时对系统进行监控。希望对新手有些帮助吧。 占用率等信息的计算可以自己配置时间间隔。
根据程序进程名获取进程cup使用情况 得到百分比数据
通过shell 获得一些机器特征,有用!
C# 系统操作 实时显示CPU内存使用率 Microsoft.VisualBasic.Devices.Computer myInfo = new Microsoft.VisualBasic.Devices.Computer(); //获取物理内存总量 pbMemorySum.Maximum = Convert.ToInt32(myInfo.Info....
1、top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 内容解释: ... %MEM:进程使用的物理内存和总内存的百分比 TIME+:该进程
Delphi获取Windows物理及虚拟内存信息,部分调试代码如下所示: MemInfo.dwLength:=sizeof(MEMORYSTATUS); //用sizeof(MEMORYSTATUS)填充dwLength成员 GlobalMemoryStatus(MemInfo); //获取内存信息 ...
前言 目前市场上有许多开源监控工具可用于监控 Linux 系统的性能。当系统达到指定的阈值限制时,它可以发送电子邮件警报。...如果只想在系统达到给定阈值时通过邮件获取当前内存利用率百分比,请使用以下脚本。 这是个
- 输入M,进程列表按内存使用大小降序排序,便于我们观察最大内存使用者使用有问题(检测内存泄漏问题); - 输入P,进程列表按CPU使用大小降序排序,便于我们观察最耗CPU资源的使用者是否有问题; top第三行显示...
近期公司要让写个远程监控进程的内存和cpu百分比,自己写了个程序,主要功能就是监控多台机器指定进程的cpu占比和内存消耗
VC 得到Windows内存使用情况并显示百分比图,程序运行后,将显示当前系统内存的使用情况,可显示总物理内存、可用物理内存、可用虚拟内存和虚拟总内存,以百分比进度图的方式显示可用和已用情况,直观简洁,可学习下...