package com.jn.commons.quartz;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
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.NetFlags;
import org.hyperic.sigar.NetInterfaceConfig;
import org.hyperic.sigar.NetInterfaceStat;
import org.hyperic.sigar.OperatingSystem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.Swap;
import org.hyperic.sigar.Who;
public class SystemInfo {
public static final Logger logger = Logger.getLogger(SystemInfo.class);
public static void main(String[] args) {
try {
System.out.println(System.getProperty("java.library.path"));
System.out.println("-----------System信息,从jvm获取如下-----------------------");
// System信息,从jvm获取
property();
System.out.println("------------cpu信息如下----------------------");
// cpu信息
cpu();
System.out.println("------------内存信息如下----------------------");
// 内存信息
memory();
System.out.println("------------操作系统信息如下----------------------");
// 操作系统信息
os();
System.out.println("-------------用户信息如下---------------------");
// 用户信息
who();
System.out.println("--------------文件系统信息如下--------------------");
// 文件系统信息
file();
System.out.println("-----------网络信息如下-----------------------");
// 网络信息
net();
System.out.println("------------以太网信息如下----------------------");
// 以太网信息
ethernet();
} catch (Exception e1) {
e1.printStackTrace();
}
}
/**
* property:(System信息,从jvm获取). <br/>
*
* @author liuweiying
* @throws UnknownHostException
* @since JDK 1.6
*/
public static void property() throws UnknownHostException {
Runtime r = Runtime.getRuntime();
Properties props = System.getProperties();
InetAddress addr;
addr = InetAddress.getLocalHost();
String ip = addr.getHostAddress();
Map<String, String> map = System.getenv();
String userName = map.get("USERNAME");// 获取用户名
String computerName = map.get("COMPUTERNAME");// 获取计算机名
String userDomain = map.get("USERDOMAIN");// 获取计算机域名
System.out.println("用户名: " + userName);
System.out.println("计算机名: " + computerName);
System.out.println("计算机域名: " + userDomain);
System.out.println("本地ip地址: " + ip);
System.out.println("本地主机名: " + addr.getHostName());
System.out.println("JVM可以使用的总内存: " + r.totalMemory());
System.out.println("JVM可以使用的剩余内存: " + r.freeMemory());
System.out.println("JVM可以使用的处理器个数: " + r.availableProcessors());
System.out.println("Java的运行环境版本: " + props.getProperty("java.version"));
System.out.println("Java的运行环境供应商: " + props.getProperty("java.vendor"));
System.out.println("Java供应商的URL: " + props.getProperty("java.vendor.url"));
System.out.println("Java的安装路径: " + props.getProperty("java.home"));
System.out.println("Java的虚拟机规范版本: " + props.getProperty("java.vm.specification.version"));
System.out.println("Java的虚拟机规范供应商: " + props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虚拟机规范名称: " + props.getProperty("java.vm.specification.name"));
System.out.println("Java的虚拟机实现版本: " + props.getProperty("java.vm.version"));
System.out.println("Java的虚拟机实现供应商: " + props.getProperty("java.vm.vendor"));
System.out.println("Java的虚拟机实现名称: " + props.getProperty("java.vm.name"));
System.out.println("Java运行时环境规范版本: " + props.getProperty("java.specification.version"));
System.out.println("Java运行时环境规范供应商: " + props.getProperty("java.specification.vender"));
System.out.println("Java运行时环境规范名称: " + props.getProperty("java.specification.name"));
System.out.println("Java的类格式版本号: " + props.getProperty("java.class.version"));
System.out.println("Java的类路径: " + props.getProperty("java.class.path"));
System.out.println("加载库时搜索的路径列表: " + props.getProperty("java.library.path"));
System.out.println("默认的临时文件路径: " + props.getProperty("java.io.tmpdir"));
System.out.println("一个或多个扩展目录的路径: " + props.getProperty("java.ext.dirs"));
System.out.println("操作系统的名称: " + props.getProperty("os.name"));
System.out.println("操作系统的构架: " + props.getProperty("os.arch"));
System.out.println("操作系统的版本: " + props.getProperty("os.version"));
System.out.println("文件分隔符: " + props.getProperty("file.separator"));
System.out.println("路径分隔符: " + props.getProperty("path.separator"));
System.out.println("行分隔符: " + props.getProperty("line.separator"));
System.out.println("用户的账户名称: " + props.getProperty("user.name"));
System.out.println("用户的主目录: " + props.getProperty("user.home"));
System.out.println("用户的当前工作目录: " + props.getProperty("user.dir"));
logger.info("用户名: " + userName);
logger.info("计算机名: " + computerName);
logger.info("计算机域名: " + userDomain);
logger.info("本地ip地址: " + ip);
logger.info("本地主机名: " + addr.getHostName());
logger.info("JVM可以使用的总内存: " + r.totalMemory());
logger.info("JVM可以使用的剩余内存: " + r.freeMemory());
logger.info("JVM可以使用的处理器个数: " + r.availableProcessors());
logger.info("Java的运行环境版本: " + props.getProperty("java.version"));
logger.info("Java的运行环境供应商: " + props.getProperty("java.vendor"));
logger.info("Java供应商的URL: " + props.getProperty("java.vendor.url"));
logger.info("Java的安装路径: " + props.getProperty("java.home"));
没有合适的资源?快使用搜索试试~ 我知道了~
Java获取系统CPU、内存、硬盘等系统信息
共300个文件
html:188个
java:39个
so:15个
5星 · 超过95%的资源 需积分: 43 106 下载量 175 浏览量
2017-12-13
13:55:57
上传
评论 4
收藏 3.38MB ZIP 举报
温馨提示
通过Java程序获取Windows/Linux系统的CPU信息、内存信息、硬盘信息、网络信息、操作系统信息等。
资源推荐
资源详情
资源评论
收起资源包目录
Java获取系统CPU、内存、硬盘等系统信息 (300个子文件)
AUTHORS 478B
default.build 1KB
rbsigar.c 12KB
_sigar.c 8KB
php_sigar.c 5KB
ChangeLog 29KB
Sigar.cs 20KB
Ifconfig.cs 3KB
Df.cs 2KB
Free.cs 1KB
CpuInfo.cs 1KB
stylesheet.css 1KB
sigar-amd64-winnt.dll 393KB
sigar-x86-winnt.dll 260KB
libsigar-universal64-macosx.dylib 388KB
libsigar-universal-macosx.dylib 369KB
inherit.gif 57B
sigar.h 23KB
sigar_fileinfo.h 6KB
sigar_log.h 2KB
sigar_format.h 2KB
sigar_ptql.h 2KB
php_sigar.h 698B
index-all.html 482KB
Sigar.html 115KB
constant-values.html 75KB
SigarProxy.html 71KB
serialized-form.html 69KB
VM.html 69KB
ShellBase.html 42KB
ServiceConfig.html 39KB
NetFlags.html 36KB
Pdh.html 34KB
Service.html 34KB
FileInfo.html 33KB
overview-tree.html 32KB
PrintfFormat.html 32KB
SigarCommandBase.html 31KB
RegistryKey.html 27KB
Shell.html 27KB
EventLog.html 26KB
MetaBase.html 26KB
Ps.html 25KB
Iostat.html 25KB
NetInterfaceStat.html 24KB
ResourceLimit.html 24KB
NfsServerV3.html 24KB
NfsClientV3.html 24KB
FileSystemUsage.html 23KB
ShellCommandBase.html 23KB
NetStat.html 23KB
Df.html 23KB
ProcState.html 22KB
Ifconfig.html 22KB
OperatingSystem.html 22KB
ProcModuleInfo.html 21KB
NfsServerV2.html 21KB
ProcFileInfo.html 21KB
NfsClientV2.html 21KB
ProcInfo.html 21KB
ShowArgs.html 21KB
ShowEnv.html 21KB
MultiPs.html 21KB
Kill.html 21KB
NetInterfaceConfig.html 21KB
FileVersionInfo.html 21KB
ReferenceMap.html 20KB
Win32Service.html 20KB
Netstat.html 20KB
FileSystem.html 20KB
Time.html 20KB
LocaleInfo.html 20KB
allclasses-frame.html 20KB
NetRoute.html 20KB
Uptime.html 20KB
package-summary.html 20KB
FileWatcher.html 20KB
Pidof.html 20KB
Ulimit.html 20KB
CpuTimer.html 20KB
NetConnection.html 20KB
Du.html 20KB
Ls.html 20KB
CpuInfo.html 20KB
MultiwordShellCommand.html 19KB
Version.html 19KB
ShellCommand_source.html 19KB
Nfsstat.html 19KB
ShellCommand_alias.html 19KB
SysInfo.html 19KB
NetInfo.html 19KB
Free.html 19KB
Route.html 19KB
Who.html 19KB
Cpu.html 19KB
ShellCommand_set.html 19KB
Mem.html 18KB
Tcp.html 18KB
ProcMem.html 18KB
ShellCommand_sleep.html 18KB
共 300 条
- 1
- 2
- 3
资源评论
- 色空空色2023-07-29虽然有一些地方的描述可能有点晦涩,但总体来说,这个文件对于需要获取系统信息的开发人员是非常有益的。
- LauraKuang2023-07-29这个文件提供了获取Java系统信息的方法,对于系统监控很有帮助。
- 艾苛尔2023-07-29这个文件不仅仅提供了代码示例,还给出了一些实际应用场景,让人觉得这些方法确实有用。
- 坐在地心看宇宙2023-07-29在使用这个文件之前,我对Java获取系统信息一无所知,但是通过阅读这个文件,我成功地获取了我所需要的信息。
- FloritaScarlett2023-07-29作者很详细地介绍了如何获取系统的CPU、内存和硬盘等信息,非常易于理解。
王绍桦
- 粉丝: 138
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于MATLAB的数字信号处理仿真系统(GUI+源码).zip
- IMG_20240510_080940.jpg
- 基于MATLAB的数字信号处理仿真系统GUI+源码(高分项目).zip
- WIFI密码查看器 V1.0 -查看WINDOWS已保存WIFI密码
- DC%E7%BB%BC%E5%90%88%E5%8F%8A%E4%BB%BF%E7%9C%9F%E9%AA%8C%E8%AF%81%E5%92%8CDFT%E6%B5%8B%E8%AF%95.html
- Rtools44 installer for windows
- 数字信号处理实验,使用matlab仿真源码+PDF文档(高分项目).zip
- main.c
- 配置好的maven文件
- 深度学习之OneFlow采用全新架构设计的工业级通用深度学习框架-2.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功