java 获取服务器类型_java获取服务器信息

引入依赖

build.gradle

compile 'net.java.dev.jna:jna:5.6.0'

compile 'net.java.dev.jna:jna-platform:5.6.0'

compile 'com.github.oshi:oshi-core:5.3.7'

compile 'cn.hutool:hutool-all:5.5.6'

mvaen

net.java.dev.jna

jna

5.6.0

net.java.dev.jna

jna-platform

5.6.0

com.github.oshi

oshi-core

5.3.7

cn.hutool

hutool-all

5.5.6

代码

private String format(long size) {

if (size < 1024) {

return size + "B";

} else {

size = size / 1024;

}

if (size < 1024) {

return size + "KB";

} else {

size = size / 1024;

}

if (size < 1024) {

size = size * 100;

return size / 100 + "." + size % 100 + "MB";

} else {

size = size * 100 / 1024;

return size / 100 + "." + size % 100 + "GB";

}

}

@Test

public void info() {

Console.log("======= 操作系统信息 ======");

OsInfo osInfo = SystemUtil.getOsInfo();

Console.log("操作系统:{}", osInfo.getName());

Console.log("系统版本:{}", osInfo.getVersion());

Console.log("系统架构:{}", osInfo.getArch());

Console.log("JVM总内存:{}", format(SystemUtil.getTotalMemory()));

Console.log("JVM剩余内存:{}", format(SystemUtil.getFreeMemory()));

Console.log("======= java信息 ======");

JavaRuntimeInfo runtimeInfo = SystemUtil.getJavaRuntimeInfo();

Console.log("java版本:{}", runtimeInfo.getVersion());

Console.log("java架构:{}", runtimeInfo.getSunArchDataModel());

Console.log("java目录:{}", runtimeInfo.getHomeDir());

SystemInfo systemInfo = new SystemInfo();

HardwareAbstractionLayer hardware = systemInfo.getHardware();

OperatingSystem operatingSystem = systemInfo.getOperatingSystem();

Console.log("======= CPU信息 ======");

CentralProcessor cpu = hardware.getProcessor();

CentralProcessor.ProcessorIdentifier cpuInfo = cpu.getProcessorIdentifier();

Console.log("cpu数量:{}", cpu.getPhysicalPackageCount());

Console.log("cpu核心数:{}", cpu.getPhysicalProcessorCount());

Console.log("cpu线程数:{}", cpu.getLogicalProcessorCount());

Console.log("cpuID:{}", cpuInfo.getProcessorID());

Console.log("cpu名称:{}", cpuInfo.getName());

Console.log("cpu标识:{}", cpuInfo.getIdentifier());

Console.log("======= 主板信息 ======");

ComputerSystem computer = hardware.getComputerSystem();

Console.log("主板型号:{}", computer.getModel());

Console.log("主板序列号:{}", computer.getSerialNumber());

Console.log("======= 内存信息 ======");

GlobalMemory memory = hardware.getMemory();

Console.log("内存大小:{}", format(memory.getTotal()));

Console.log("可用内存:{}", format(memory.getAvailable()));

Console.log("==========");

List memoryList = memory.getPhysicalMemory();

memoryList.forEach((item) -> {

Console.log("内存型号:{}", item.getManufacturer());

Console.log("内存规格:{}", item.getMemoryType());

Console.log("内存主频:{}", format(item.getClockSpeed()));

Console.log("内存大小:{}", format(item.getCapacity()));

Console.log("==========");

});

Console.log("======= 物理磁盘信息 ======");

List diskList = hardware.getDiskStores();

diskList.forEach((disk) -> {

Console.log("名称:{}", disk.getName());

Console.log("型号:{}", disk.getModel());

Console.log("序号:{}", disk.getSerial());

Console.log("大小:{}", format(disk.getSize()));

Console.log("==========");

});

Console.log("======= 逻辑磁盘信息 ======");

FileSystem fileSystem = operatingSystem.getFileSystem();

List fileList = fileSystem.getFileStores(true);

fileList.forEach((file) -> {

Console.log("名称:{}", file.getName());

Console.log("UUID:{}", file.getUUID());

Console.log("盘符:{}", file.getMount());

Console.log("文件类型:{}", file.getType());

Console.log("总大小:{}", format(file.getTotalSpace()));

Console.log("剩余大小:{}", format(file.getUsableSpace()));

Console.log("==========");

});

}

输出

======= 操作系统信息 ======

操作系统:Windows 10

系统版本:10.0

系统架构:amd64

JVM总内存:243.0MB

JVM剩余内存:189.0MB

======= java信息 ======

java版本:1.8.0_221-b11

java架构:64

java目录:C:\app\Java\x64\jdk1.8.0_221\jre

======= CPU信息 ======

cpu数量:1

cpu核心数:4

cpu线程数:8

cpuID:BFEBFBFF000906E9

cpu名称:Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz

cpu标识:Intel64 Family 6 Model 158 Stepping 9

======= 主板信息 ======

主板型号:Inspiron 15 7000 Gaming

主板序列号:58D9Y32

======= 内存信息 ======

内存大小:15.86GB

可用内存:5.18GB

==========

内存型号:Samsung

内存规格:DDR4

内存主频:2.23GB

内存大小:8.0GB

==========

内存型号:SK Hynix

内存规格:DDR4

内存主频:2.23GB

内存大小:8.0GB

==========

======= 物理磁盘信息 ======

19:22:14.526 [main] DEBUG oshi.util.platform.windows.PerfCounterQuery - Localized PhysicalDisk to PhysicalDisk

名称:\\.\PHYSICALDRIVE0

型号:KINGSTON SUV500M8240G (标准磁盘驱动器)

序号:50026B768258ACA9

大小:223.56GB

==========

名称:\\.\PHYSICALDRIVE1

型号:TOSHIBA MQ01ABD100 (标准磁盘驱动器)

序号: 87C3S6KZS

大小:931.51GB

==========

======= 逻辑磁盘信息 ======

名称:本地固定磁盘 (C:)

UUID:e4769774-92f9-431e-ad1d-96963d9d03bc

盘符:C:\

文件类型:NTFS

总大小:221.37GB

剩余大小:88.8GB

==========

名称:本地固定磁盘 (D:)

UUID:81c881c4-76ff-48af-b0c1-2070f753310f

盘符:D:\

文件类型:NTFS

总大小:300.0GB

剩余大小:218.97GB

==========

名称:本地固定磁盘 (E:)

UUID:a689f086-7265-4c3e-b622-8a641787dd5e

盘符:E:\

文件类型:NTFS

总大小:300.72GB

剩余大小:136.71GB

==========

名称:本地固定磁盘 (F:)

UUID:8c126ad0-bf59-457d-8c2f-e3248e03e9f7

盘符:F:\

文件类型:NTFS

总大小:330.65GB

剩余大小:213.28GB

==========

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注:下文中的 *** 代表文件名中的版本号。 # 【jna-***.jar中文文档.zip】 中包含: 中文文档:【jna-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【jna-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【jna-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【jna-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【jna-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: jna-***.jar中文文档.zip,java,jna-***.jar,net.java.dev.jna,jna,***,com.sun.jna,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【jna-***.jar中文文档.zip】,再解压其中的 【jna-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'net.java.dev.jna', name: 'jna', version: '***' Gradle (Short): implementation 'net.java.dev.jna:jna:***' Gradle (Kotlin): implementation("net.java.dev.jna:jna:***") ``` # 含有的 Java package(包)(此处仅列举3个): ``` com.sun.jna com.sun.jna.internal com.sun.jna.platform ...... ``` # 含有的 Java class(类)(此处仅列举3个): ``` com.sun.jna.AltCallingConvention com.sun.jna.Callback com.sun.jna.Callback.UncaughtExceptionHandler ...... ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值