資源簡介
使用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版(源代碼)
評論
共有 條評論