• 大小: 2.87MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-23
  • 语言: Java
  • 标签: java  开发技术  

资源简介

使用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个文件信息

评论

共有 条评论