java 硬件探针 sigar 检测CPU 内存使用情况

本文介绍如何在Java中使用Sigar库来检测服务器的CPU和内存使用情况。首先,根据操作系统类型(Windows或Linux)将必要的库文件放入JDK的bin目录。然后,通过Java代码实现监控功能。
摘要由CSDN通过智能技术生成

1. 根据自己服务器情况,windows 或者 linux 等,先把 sigar-amd64-winnt.dll  sigar-x86-winnt.dll libsigar-x86-linux.so libsigar-amd64-linux.so 相应文件放到 jdk 安装的 bin 目录里面

2. 相应代码

package org.fh.controller.tools;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties;
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;

.//www.1b23.com
public class RunstateController {
	
	public static void main(String[] args) {
		try {
			// System信息,从jvm获取
			property();
			System.out.println("----------------------------------");
			// 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();
			System.out.println("----------------------------------");
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}

	private 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.p
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值