package com.myeye.ssm.Utile;
import com.alibaba.fastjson.JSONObject;
import net.sf.json.JSONArray;
import org.apache.log4j.Logger;
import org.hyperic.sigar.*;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.*;
/**
* 服务器 信息获取工具类
*/
public class SystemServersInfoUtil {
private static Logger logger = Logger.getLogger(SystemServersInfoUtil.class);
public static JSONObject property() {
Runtime r = Runtime.getRuntime();
Properties props = System.getProperties();
InetAddress addr = null;
JSONObject jsonObject = new JSONObject();
try {
addr = InetAddress.getLocalHost();
String ip = addr.getHostAddress();
Map<String, String> map = System.getenv();
String userName = map.get("USERNAME");// 获取用户名
String computerName = map.get("COMPUTERNAME");// 获取计算机名
String computerDomain = map.get("USERDOMAIN");// 获取计算机域名
//Java JVM 启动时间
RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
// Get start time
long startTime = bean.getStartTime();
// Get start Date
Date startDate = new Date(startTime);
jsonObject.put("javaStartTime", startDate);
jsonObject.put("userName", userName);
jsonObject.put("computerName", computerName);
jsonObject.put("computerDomain", computerDomain);
jsonObject.put("ip", ip);
jsonObject.put("hostName", addr.getHostName());
jsonObject.put("totalMemory", r.totalMemory());
jsonObject.put("freeMemory", r.freeMemory());
jsonObject.put("availableProcessors", r.availableProcessors());
jsonObject.put("javaName", props.getProperty("java.vm.name"));
jsonObject.put("javaVersion", props.getProperty("java.version"));
jsonObject.put("javaHome", props.getProperty("java.home"));
jsonObject.put("javaDir", props.getProperty("user.dir"));
jsonObject.put("javaOSname", props.getProperty("os.name"));
jsonObject.put("javaOSarch", props.getProperty("os.arch"));
logger.info("用户名: " + userName);
logger.info("计算机名: " + computerName);
logger.info("计算机域名: " + computerDomain);
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.runtime.name"));
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"));
logger.info("Java的虚拟机规范版本: " + props.getProperty("java.vm.specification.version"));
logger.info("Java的虚拟机规范供应商: " + props.getProperty("java.vm.specification.vendor"));
logger.info("Java的虚拟机规范名称: " + props.getProperty("java.vm.specification.name"));
logger.info("Java的虚拟机实现版本: " + props.getProperty("java.vm.version"));
logger.info("Java的虚拟机实现供应商: " + props.getProperty("java.vm.vendor"));
logger.info("Java的虚拟机实现名称: " + props.getProperty("java.vm.name"));
logger.info("Java运行时环境规范版本: " + props.getProperty("java.specification.version"));
logger.info("Java运行时环境规范供应商: " + props.getProperty("java.specification.vender"));
logger.info("Java运行时环境规范名称: " + props.getProperty("java.specification.name"));
logger.info("Java的类格式版本号: " + props.getProperty("java.class.version"));
logger.info("Java的类路径: " + props.getProperty("java.class.path"));
logger.info("加载库时搜索的路径列表: " + props.getProperty("java.library.path"));
logger.info("默认的临时文件路径: " + props.getProperty("java.io.tmpdir"));
logger.info("一个或多个扩展目录的路径: " + props.getProperty("java.ext.dirs"));
logger.info("操作系统的名称: " + props.getProperty("os.name"));
logger.info("操作系统的构架: " + props.getProperty("os.arch"));
logger.info("操作系统的版本: " + props.getProperty("os.version"));
logger.info("文件分隔符: " + props.getProperty("file.separator"));
logger.info("路径分隔符: " + props.getProperty("path.separator"));
logger.info("行分隔符: " + props.getProperty("line.separator"));
logger.info("用户的账户名称: " + props.getProperty("user.name"));
logger.info("用户的主目录: " + props.getProperty("user.home"));
logger.info("用户的当前工作目录: " + props.getProperty("user.dir"));
} catch (UnknownHostException e) {
// e.printStackTrace();
logger.error("抛出异常", e);
} catch (UnsatisfiedLinkError e){
logger.error("抛出异常", e);
e.printStackTrace();
} catch (Exception e) {
logger.error("抛出异常", e);
e.printStackTrace();
}
return jsonObject;
}
public static JSONObject memory() {
Sigar sigar = new Sigar();
Mem mem = null;
JSONObject jsonObject = new JSONObject();
try {
mem = sigar.getMem();
logger.info("内存总量: " + mem.getTotal() / 1024L + "K av");
logger.info("当前内存使用量: " + mem.getUsed() / 1024L + "K used");
logger.info("当前内存剩余量: " + mem.getFree() / 1024L + "K free");
Swap swap = sigar.getSwap();
logger.info("交换区总量: " + swap.getTotal() / 1024L + "K av");
logger.info("当前交换区使用量: " + swap.getUsed() / 1024L + "K used");
logger.info("当前交换区剩余量: " + swap.getFree() / 1024L + "K free");
jsonObject.put("memTotal", mem.getTotal());
jsonObject.put("memUsed", mem.getUsed());
jsonObject.put("memFree", mem.getFree());
jsonObject.put("swapTotal", swap.getTotal());
jsonObject.put("swapUsed", swap.getUsed());
jsonObject.put("swapFree", swap.getFree());
} catch (SigarException e) {
// e.printStackTrace();
logger.error("抛出异常", e);
} catch (UnsatisfiedLinkError e) {
logger.error("抛出异常", e);
e.printStackTrace();
} catch (Exception e) {
logger.error("抛出异常", e);
e.printStackTrace();
}
return jsonObject;
}
public static JSONObject cpu(){
Sigar sigar = new Sigar();
JSONObject jsonObject = new JSONObject();
CpuInfo infos[] = new CpuInfo[0];
Properties props = System.getProperties();
String systemName = props.getProperty("os.na
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
获取系统信息模块.zip (5个子文件)
sigar-x86-winnt.dll 260KB
sigar.jar 419KB
sigar-amd64-winnt.dll 393KB
sigar-x86-winnt.lib 97KB
SystemServersInfoUtil.java 22KB
共 5 条
- 1
sinat_39109242
- 粉丝: 0
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 原生微信小程序源码 - -滴滴公交-查公交
- 人工智能实验四 感知器算法的设计实现
- java小项目多线程多线程 复制文件 冒泡排序 群聊
- 四数之和(java代码).docx
- 701837906919458TapScanner v3.0.10 (Pro).apk
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0