|
@ -15,7 +15,8 @@ import java.util.*;
|
|
|
* Created at 2016/10/10.
|
|
|
*/
|
|
|
public class SigarUtil {
|
|
|
|
|
|
|
|
|
static private final Logger logger = LoggerFactory.getLogger(SigarUtil.class);
|
|
|
public final static Sigar sigar = initSigar();
|
|
|
|
|
|
private static Sigar initSigar() {
|
|
@ -49,7 +50,7 @@ public class SigarUtil {
|
|
|
// double d = 0;
|
|
|
// String f = df.format(d);
|
|
|
// double e = Double.parseDouble(String.format("%.2f", d));
|
|
|
// System.out.println(e);
|
|
|
// logger.info(e);
|
|
|
// }
|
|
|
|
|
|
/**
|
|
@ -81,41 +82,41 @@ public class SigarUtil {
|
|
|
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"));
|
|
|
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"));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@ -182,37 +183,37 @@ public class SigarUtil {
|
|
|
private static void os() {
|
|
|
OperatingSystem OS = OperatingSystem.getInstance();
|
|
|
// 操作系统内核类型如: 386、486、586等x86
|
|
|
System.out.println("操作系统: " + OS.getArch());
|
|
|
System.out.println("操作系统CpuEndian(): " + OS.getCpuEndian());//
|
|
|
System.out.println("操作系统DataModel(): " + OS.getDataModel());//
|
|
|
logger.info("操作系统: " + OS.getArch());
|
|
|
logger.info("操作系统CpuEndian(): " + OS.getCpuEndian());//
|
|
|
logger.info("操作系统DataModel(): " + OS.getDataModel());//
|
|
|
// 系统描述
|
|
|
System.out.println("操作系统的描述: " + OS.getDescription());
|
|
|
logger.info("操作系统的描述: " + OS.getDescription());
|
|
|
// 操作系统类型
|
|
|
// System.out.println("OS.getName(): " + OS.getName());
|
|
|
// System.out.println("OS.getPatchLevel(): " + OS.getPatchLevel());//
|
|
|
// logger.info("OS.getName(): " + OS.getName());
|
|
|
// logger.info("OS.getPatchLevel(): " + OS.getPatchLevel());//
|
|
|
// 操作系统的卖主
|
|
|
System.out.println("操作系统的卖主: " + OS.getVendor());
|
|
|
logger.info("操作系统的卖主: " + OS.getVendor());
|
|
|
// 卖主名称
|
|
|
System.out.println("操作系统的卖主名: " + OS.getVendorCodeName());
|
|
|
logger.info("操作系统的卖主名: " + OS.getVendorCodeName());
|
|
|
// 操作系统名称
|
|
|
System.out.println("操作系统名称: " + OS.getVendorName());
|
|
|
logger.info("操作系统名称: " + OS.getVendorName());
|
|
|
// 操作系统卖主类型
|
|
|
System.out.println("操作系统卖主类型: " + OS.getVendorVersion());
|
|
|
logger.info("操作系统卖主类型: " + OS.getVendorVersion());
|
|
|
// 操作系统的版本号
|
|
|
System.out.println("操作系统的版本号: " + OS.getVersion());
|
|
|
logger.info("操作系统的版本号: " + OS.getVersion());
|
|
|
}
|
|
|
|
|
|
private static void who() throws SigarException {
|
|
|
Who who[] = sigar.getWhoList();
|
|
|
if (who != null && who.length > 0) {
|
|
|
for (int i = 0; i < who.length; i++) {
|
|
|
// System.out.println("当前系统进程表中的用户名" + String.valueOf(i));
|
|
|
// logger.info("当前系统进程表中的用户名" + String.valueOf(i));
|
|
|
Who _who = who[i];
|
|
|
System.out.println("用户控制台: " + _who.getDevice());
|
|
|
System.out.println("用户host: " + _who.getHost());
|
|
|
// System.out.println("getTime(): " + _who.getTime());
|
|
|
logger.info("用户控制台: " + _who.getDevice());
|
|
|
logger.info("用户host: " + _who.getHost());
|
|
|
// logger.info("getTime(): " + _who.getTime());
|
|
|
// 当前系统进程表中的用户名
|
|
|
System.out.println("当前系统进程表中的用户名: " + _who.getUser());
|
|
|
logger.info("当前系统进程表中的用户名: " + _who.getUser());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -307,12 +308,12 @@ public class SigarUtil {
|
|
|
|| NetFlags.NULL_HWADDR.equals(cfg.getHwaddr())) {
|
|
|
continue;
|
|
|
}
|
|
|
System.out.println(cfg.getName() + "IP地址:" + cfg.getAddress());// IP地址
|
|
|
System.out.println(cfg.getName() + "网关广播地址:" + cfg.getBroadcast());// 网关广播地址
|
|
|
System.out.println(cfg.getName() + "网卡MAC地址:" + cfg.getHwaddr());// 网卡MAC地址
|
|
|
System.out.println(cfg.getName() + "子网掩码:" + cfg.getNetmask());// 子网掩码
|
|
|
System.out.println(cfg.getName() + "网卡描述信息:" + cfg.getDescription());// 网卡描述信息
|
|
|
System.out.println(cfg.getName() + "网卡类型" + cfg.getType());//
|
|
|
logger.info(cfg.getName() + "IP地址:" + cfg.getAddress());// IP地址
|
|
|
logger.info(cfg.getName() + "网关广播地址:" + cfg.getBroadcast());// 网关广播地址
|
|
|
logger.info(cfg.getName() + "网卡MAC地址:" + cfg.getHwaddr());// 网卡MAC地址
|
|
|
logger.info(cfg.getName() + "子网掩码:" + cfg.getNetmask());// 子网掩码
|
|
|
logger.info(cfg.getName() + "网卡描述信息:" + cfg.getDescription());// 网卡描述信息
|
|
|
logger.info(cfg.getName() + "网卡类型" + cfg.getType());//
|
|
|
|
|
|
|
|
|
}
|
|
@ -341,7 +342,7 @@ public class SigarUtil {
|
|
|
long txbps = ((txBytesEnd - txBytesStart) * 8 / 1024) / ((end - start) / 1000);
|
|
|
bps.put("rxbps", rxbps);
|
|
|
bps.put("txbps", txbps);
|
|
|
System.out.println("#######rxbps: " + rxbps + " txbps: " + txbps);
|
|
|
logger.info("#######rxbps: " + rxbps + " txbps: " + txbps);
|
|
|
} catch (SigarException e) {
|
|
|
} catch (Exception e) {
|
|
|
}
|