资源简介
使用sigar获取系统信息,例如内存,cpu,磁盘大小,jvm虚拟机信息,内置jar包已及工具类,工具类写了注释,很详细。
代码片段和文件信息
package com.gisquest.platform.modules.monitor.util;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import org.hyperic.sigar.CpuInfo;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.FileSystem;
import org.hyperic.sigar.FileSystemUsage;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
/**
* 获取系统信息工具类
*
* @author liul 2015年12月28日下午3:12:16
*/
public class MonitorUtil {
/**
* 获取电脑信息
*
* @return
*/
public static Map getComputerGeneral() {
Map result = null;
try {
result = new HashMap();
// ip地址
InetAddress address = InetAddress.getLocalHost();
String ip = address.getHostAddress();
// 计算机名称
Map map = System.getenv();
String computerName = map.get(“COMPUTERNAME“);
// 内存总量
Sigar sigar = new Sigar();
Mem mem = sigar.getMem();
double memoryTotal = longConversionDouble(mem.getTotal());
memoryTotal = memoryTotal / 1024 / 1024 / 1024;
String memoryString = String.format(“%.2f“ memoryTotal) + “GB“;
double memUsed = longConversionDouble(mem.getUsed());
memUsed = memUsed / 1024 / 1024 / 1024;
String memUsedString = String.format(“%.2f“ memUsed) + “GB“;
// 系统名称
Properties properties = System.getProperties();
String systemName = properties.getProperty(“os.name“);
String systemArch = properties.getProperty(“os.arch“);
String systemVersion = properties.getProperty(“os.version“);
result.put(“ip“ ip);//ip地址
result.put(“computerName“ computerName);// 电脑名称
result.put(“memoryString“ memoryString);//内存总量
result.put(“systemName“ systemName);// 操作系统的名称
result.put(“systemArch“ systemArch);// 操作系统构架
result.put(“systemVersion“ systemVersion);// 操作系统版本
result.put(“memUsedString“ memUsedString);// 当前内存使用量
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 获取jvm虚拟机信息
*
* @return
*/
public static Map getJVMInfo(HttpServletRequest request) {
Runtime runtime = Runtime.getRuntime();
Properties properties = System.getProperties();
Map map = new HashMap();
double jvmTotalMemoryDouble = longConversionDouble(runtime
.totalMemory());
jvmTotalMemoryDouble = jvmTotalMemoryDouble / 1024 / 1024 / 1024;
double jvmFreeMemoryDouble = longConversionDouble(runtime.freeMemory());
jvmFreeMemoryDouble = jvmFreeMemoryDouble / 1024 / 1024 / 1024;
String jdkPath = properties.getProperty(“java.home“);
jdkPath = jdkPath.substring(0jdkPath.lastIndexOf(properties.getProperty(“file.separator“)));
String tomcatPath = request.getSession().getServletContext().getRealPath(““);
tomcatPath = tomcatPat
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 478 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\AUTHORS
文件 1233 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\default.build
文件 1194 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\examples\CpuInfo.cs
文件 1978 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\examples\Df.cs
文件 1336 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\examples\Free.cs
文件 3181 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\examples\Ifconfig.cs
文件 20734 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\dotnet\src\Sigar.cs
文件 3211 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\CpuInfo.java
文件 5578 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Df.java
文件 1432 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Du.java
文件 2413 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\EventLogTail.java
文件 2937 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\FileVersionInfo.java
文件 2381 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Free.java
文件 4767 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Ifconfig.java
文件 5476 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Iostat.java
文件 1847 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Kill.java
文件 2147 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Ls.java
文件 2485 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\MemWatch.java
文件 2065 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\MultiPs.java
文件 2080 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\NetInfo.java
文件 7853 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Netstat.java
文件 3487 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Nfsstat.java
文件 1361 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Pidof.java
文件 2209 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\ProcessState.java
文件 2437 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\ProcFileInfo.java
文件 3162 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\ProcInfo.java
文件 2170 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\ProcModuleInfo.java
文件 4589 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Ps.java
文件 2495 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Route.java
文件 7476 2010-04-28 17:00 sigar\hyperic-sigar-1.6.4\bindings\java\examples\Runner.java
............此处省略303个文件信息
- 上一篇:清爽夏日九宫格日志网源码
- 下一篇:微信打飞机Android版(源代码)
相关资源
- 清爽夏日九宫格日志网源码
- Java 感知哈希实现的图片搜索
- java开发博客系统
- Java学习入门资料 PPT版本
- 数字媒体综合实验-java修改图片
- java实现SVM支持向量机算法
- Java实现愤怒的小鸟AngryBirds游戏源码
- 北大青鸟java web PPT 完整课件
- Java家庭理财系统源码+视频+ppt
- 2019互联网面试题第2季.mmap
- 网上购物系统+毕业设计(完整版)
- java实现Echarts折线图历史数据显示一
- 东北大学数据结构与算法课程设计实
- 基于JAVA的职工考勤管理系统+JSP+SQL完
- JavaEE + Oracle 开发的简易版银行管理系
- 基于javaGUI的租车系统
- javaweb邮件管理系统
- Java+MySQL高校学生考勤系统
- 基于Java Web 技术的网上订餐系统.zip
- java tools.jar
- Javaweb大作业公司任务管理系统
- 基于Java的网上花店网站的设计与开发
- Java泛型和集合.pdf
- java数据库开发编程案例之医药进销存
- Java 1.5API 中文完整版卷3
- Jdbc经典案例之图书管理系统 Java
- ZKM 12.0.1 Cracked.rar
- 基于java的医院分诊管理系统205296
- HTML5 JAVA大文件断点续传
- aspose words for java 16.6.0 最新完美破解版
评论
共有 条评论