java获取系统信息(stringBoot)

java获取系统信息

导入maven依赖

<!-- 获取系统信息 -->
		<dependency>
			<groupId>com.github.oshi</groupId>
			<artifactId>oshi-core</artifactId>
		</dependency>

测试类


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import oshi.SystemInfo;
import oshi.hardware.*;
import oshi.hardware.CentralProcessor.TickType;
import oshi.software.os.*;
import oshi.software.os.OperatingSystem.ProcessSort;
import oshi.util.FormatUtil;
import oshi.util.Util;

import java.util.Arrays;
import java.util.List;

/**
 * The Class SystemInfoTest.
 *
 * @author dblock[at]dblock[dot]org
 */
public class SystemInfoTest {

    /**
     * The main method.
     *
     * @param args the arguments
     */
    public static void main(String[] args) {
        // Options: ERROR > WARN > INFO > DEBUG > TRACE
        Logger LOG = LoggerFactory.getLogger(SystemInfoTest.class);

        LOG.info("创建systemInfo对象...");
        SystemInfo si = new SystemInfo();
        //硬件信息
        LOG.info("创建硬件对象Hardware...");
        HardwareAbstractionLayer hal = si.getHardware();
        //操作系统
        LOG.info("创建硬件对象Hardware...");
        OperatingSystem os = si.getOperatingSystem();

        System.out.println("操作系统:"+os);

        LOG.info("正在获取cup信息...");
        printComputerSystem(hal.getComputerSystem());

        LOG.info("处理器信息...");
        printProcessor(hal.getProcessor());

        LOG.info("获取内存信息...");
        printMemory(hal.getMemory());

        LOG.info("获取cup信息...");
        printCpu(hal.getProcessor());

        LOG.info("获取进程...");
        printProcesses(os, hal.getMemory());

        LOG.info("传感器...");
        printSensors(hal.getSensors());

        LOG.info("电源...");
        printPowerSources(hal.getPowerSources());

        LOG.info("检查磁盘...");
        printDisks(hal.getDiskStores());

        LOG.info("检查文件系统...");
        printFileSystem(os.getFileSystem());

        LOG.info("检查网络接口...");
        printNetworkInterfaces(hal.getNetworkIFs());

        LOG.info("检查网络参数...");
        printNetworkParameters(os.getNetworkParams());

        // hardware: displays
        LOG.info("检查显示...");
        printDisplays(hal.getDisplays());

        // hardware: USB devices
        LOG.info("检查USB设备...");
        printUsbDevices(hal.getUsbDevices(true));
    }

    private static void printComputerSystem(final ComputerSystem computerSystem) {

        System.out.println("制造商: " + computerSystem.getManufacturer());
        System.out.println("型号: " + computerSystem.getModel());
        System.out.println("序列号: " + computerSystem.getSerialNumber());
        final Firmware firmware = computerSystem.getFirmware();
        System.out.println("固件信息:");
        System.out.println("  制造商: " + firmware.getManufacturer());
        System.out.println("  名字: " + firmware.getName());
        System.out.println("  描述: " + firmware.getDescription());
        System.out.println("  版本: " + firmware.getVersion());
//		System.out.println("  release date: " + (firmware.getReleaseDate() == null ? "unknown": firmware.getReleaseDate() == null ? "unknown" : FormatUtil.formatDate(firmware.getReleaseDate())));
        final Baseboard baseboard = computerSystem.getBaseboard();
        System.out.println("baseboard:");
        System.out.println("  制造商: " + baseboard.getManufacturer());
        System.out.println("  型号: " + baseboard.getModel());
        System.out.println("  版本: " + baseboard.getVersion());
        System.out.println("  序列号: " + baseboard.getSerialNumber());
    }

    private static void printProcessor(CentralProcessor processor) {
        System.out.println(processor);
        System.out.println(" " + processor.getPhysicalPackageCount() + " (物理CPU封装)physical CPU package(s)");
        System.out.println(" " + processor.getPhysicalProcessorCount() + " (物理CPU核心)physical CPU core(s)");
        System.out.println(" " + processor.getLogicalProcessorCount() + " (物理CPU核心)logical CPU(s)");

        System.out.println("(识别)Identifier: " + processor.getIdentifier());
        System.out.println("(处理器ID)ProcessorID: " + processor.getProcessorID());
    }

    private static void printMemory(GlobalMemory memory) {
        System.out.println("(内存)Memory: " + FormatUtil.formatBytes(memory.getAvailable()) + "/"
                + FormatUtil.formatBytes(memory.getTotal()));
        System.out.println("(交换使用)Swap used: " + FormatUtil.formatBytes(memory.getSwapUsed()) + "/"
                + FormatUtil.formatBytes(memory.getSwapTotal()));
    }

    private static void printCpu(CentralProcessor processor) {
        System.out.println("(正常运行时间)Uptime: " + FormatUtil.formatElapsedSecs(processor.getSystemUptime()));
        System.out.println(
                "(上下文切换/中断)Context Switches/Interrupts: " + processor.getContextSwitches() + " / " + processor.getInterrupts());

        long[] prevTicks = processor.getSystemCpuLoadTicks();
        System.out.println("(等待)CPU, IOWait, and IRQ ticks @ 0 sec:" + Arrays.toString(prevTicks));
        // Wait a second...
        Util.sleep(1000);
        long[] ticks = processor.getSystemCpuLoadTicks();
        System.out.println("CPU, IOWait, and IRQ ticks @ 1 sec:" + Arrays.toString(ticks));
        long user = ticks[TickType.USER.getIndex()] - prevTicks[TickType.USER.getIndex()];
        long nice = ticks[TickType.NICE.getIndex()] - prevTicks[TickType.NICE.getIndex()];
        long sys = ticks[TickType.SYSTEM.getIndex()] - prevTicks[TickType.SYSTEM.getIndex()];
        long idle = ticks[TickType.IDLE.getIndex()] - prevTicks[TickType.IDLE.getIndex()];
        long iowait = ticks[TickType.IOWAIT.getIndex()] - prevTicks[TickType.IOWAIT.getIndex()];
        long irq = ticks[TickType.IRQ.getIndex()] - prevTicks[TickType.IRQ.getIndex()];
        long softirq = ticks[TickType.SOFTIRQ.getIndex()] - prevTicks[TickType.SOFTIRQ.getIndex()];
        long steal = ticks[TickType.STEAL.getIndex()] - prevTicks[TickType.STEAL.getIndex()];
        long totalCpu = user + nice + sys + idle + iowait + irq + softirq + steal;

        System.out.format(
                "User: %.1f%% Nice: %.1f%% System: %.1f%% Idle: %.1f%% IOwait: %.1f%% IRQ: %.1f%% SoftIRQ: %.1f%% Steal: %.1f%%%n",
                100d * user / totalCpu, 100d * nice / totalCpu, 100d * sys / totalCpu, 100d * idle / totalCpu,
                100d * iowait / totalCpu, 100d * irq / totalCpu, 100d * softirq / totalCpu, 100d * steal / totalCpu);
        System.out.format("(cup使用率)CPU load: %.1f%% (counting ticks)%n", processor.getSystemCpuLoadBetweenTicks() * 100);
        System.out.format("CPU load: %.1f%% (OS MXBean)%n", processor.getSystemCpuLoad() * 100);
        double[] loadAverage = processor.getSystemLoadAverage(3);
        System.out.println("(平均CPU负载)CPU load averages:" + (loadAverage[0] < 0 ? " N/A" : String.format(" %.2f", loadAverage[0]))
                + (loadAverage[1] < 0 ? " N/A" : String.format(" %.2f", loadAverage[1]))
                + (loadAverage[2] < 0 ? " N/A" : String.format(" %.2f", loadAverage[2])));
        // per core CPU
        StringBuilder procCpu = new StringBuilder("每个处理器的CPU负载:");
        double[] load = processor.getProcessorCpuLoadBetweenTicks();
        for (double avg : load) {
            procCpu.append(String.format(" %.1f%%", avg * 100));
        }
        System.out.println(procCpu.toString());
    }

    private static void printProcesses(OperatingSystem os, GlobalMemory memory) {
        System.out.println("(进程)Processes: " + os.getProcessCount() + ", (线程)Threads: " + os.getThreadCount());
        // Sort by highest CPU
        List<OSProcess> procs = Arrays.asList(os.getProcesses(5, ProcessSort.CPU));

        System.out.println("   PID  %CPU %MEM       VSZ       RSS Name");
        for (int i = 0; i < procs.size() && i < 5; i++) {
            OSProcess p = procs.get(i);
            System.out.format(" %5d %5.1f %4.1f %9s %9s %s%n", p.getProcessID(),
                    100d * (p.getKernelTime() + p.getUserTime()) / p.getUpTime(),
                    100d * p.getResidentSetSize() / memory.getTotal(), FormatUtil.formatBytes(p.getVirtualSize()),
                    FormatUtil.formatBytes(p.getResidentSetSize()), p.getName());
        }
    }

    private static void printSensors(Sensors sensors) {
        System.out.println("(传感器)Sensors:");
        System.out.format(" (CPU温度)CPU Temperature: %.1f°C%n", sensors.getCpuTemperature());
        System.out.println(" (风扇转速)Fan Speeds: " + Arrays.toString(sensors.getFanSpeeds()));
        System.out.format(" (CPU电压)CPU Voltage: %.1fV%n", sensors.getCpuVoltage());
    }

    private static void printPowerSources(PowerSource[] powerSources) {
        StringBuilder sb = new StringBuilder("(电源)Power: ");
        if (powerSources.length == 0) {
            sb.append("(未知)Unknown");
        } else {
            double timeRemaining = powerSources[0].getTimeRemaining();
            if (timeRemaining < -1d) {
                sb.append("(充电)Charging");
            } else if (timeRemaining < 0d) {
                sb.append("(计算剩余时间)Calculating time remaining");
            } else {
                sb.append(String.format("%d:%02d remaining", (int) (timeRemaining / 3600),
                        (int) (timeRemaining / 60) % 60));
            }
        }
        for (PowerSource pSource : powerSources) {
            sb.append(String.format("%n %s @ %.1f%%", pSource.getName(), pSource.getRemainingCapacity() * 100d));
        }
        System.out.println(sb.toString());
    }

    private static void printDisks(HWDiskStore[] diskStores) {
        System.out.println("(硬盘)Disks:");
        for (HWDiskStore disk : diskStores) {
            boolean readwrite = disk.getReads() > 0 || disk.getWrites() > 0;
            System.out.format(" %s: (model: %s - S/N: %s) size: %s, reads: %s (%s), writes: %s (%s), xfer: %s ms%n",
                    disk.getName(), disk.getModel(), disk.getSerial(),
                    disk.getSize() > 0 ? FormatUtil.formatBytesDecimal(disk.getSize()) : "?",
                    readwrite ? disk.getReads() : "?", readwrite ? FormatUtil.formatBytes(disk.getReadBytes()) : "?",
                    readwrite ? disk.getWrites() : "?", readwrite ? FormatUtil.formatBytes(disk.getWriteBytes()) : "?",
                    readwrite ? disk.getTransferTime() : "?");
            HWPartition[] partitions = disk.getPartitions();
            if (partitions == null) {
                // TODO Remove when all OS's implemented
                continue;
            }
            for (HWPartition part : partitions) {
                System.out.format(" |-- %s: %s (%s) Maj:Min=%d:%d, size: %s%s%n", part.getIdentification(),
                        part.getName(), part.getType(), part.getMajor(), part.getMinor(),
                        FormatUtil.formatBytesDecimal(part.getSize()),
                        part.getMountPoint().isEmpty() ? "" : " @ " + part.getMountPoint());
            }
        }
    }

    private static void printFileSystem(FileSystem fileSystem) {
        System.out.println("(文件系统)File System:");

        System.out.format(" (文件描述)File Descriptors: %d/%d%n", fileSystem.getOpenFileDescriptors(),
                fileSystem.getMaxFileDescriptors());

        OSFileStore[] fsArray = fileSystem.getFileStores();
        for (OSFileStore fs : fsArray) {
            long usable = fs.getUsableSpace();
            long total = fs.getTotalSpace();
            System.out.format(
                    " %s (%s) [%s] %s of %s free (%.1f%%) is %s "
                            + (fs.getLogicalVolume() != null && fs.getLogicalVolume().length() > 0 ? "[%s]" : "%s")
                            + " and is mounted at %s%n",
                    fs.getName(), fs.getDescription().isEmpty() ? "file system" : fs.getDescription(), fs.getType(),
                    FormatUtil.formatBytes(usable), FormatUtil.formatBytes(fs.getTotalSpace()), 100d * usable / total,
                    fs.getVolume(), fs.getLogicalVolume(), fs.getMount());
        }
    }

    private static void printNetworkInterfaces(NetworkIF[] networkIFs) {
        System.out.println("(网络接口)Network interfaces:");
        for (NetworkIF net : networkIFs) {
            System.out.format(" Name: %s (%s)%n", net.getName(), net.getDisplayName());
            System.out.format("   MAC Address: %s %n", net.getMacaddr());
            System.out.format("   MTU: %s, Speed: %s %n", net.getMTU(), FormatUtil.formatValue(net.getSpeed(), "bps"));
            System.out.format("   IPv4: %s %n", Arrays.toString(net.getIPv4addr()));
            System.out.format("   IPv6: %s %n", Arrays.toString(net.getIPv6addr()));
            boolean hasData = net.getBytesRecv() > 0 || net.getBytesSent() > 0 || net.getPacketsRecv() > 0
                    || net.getPacketsSent() > 0;
            System.out.format("   Traffic: received %s/%s%s; transmitted %s/%s%s %n",
                    hasData ? net.getPacketsRecv() + " packets" : "?",
                    hasData ? FormatUtil.formatBytes(net.getBytesRecv()) : "?",
                    hasData ? " (" + net.getInErrors() + " err)" : "",
                    hasData ? net.getPacketsSent() + " packets" : "?",
                    hasData ? FormatUtil.formatBytes(net.getBytesSent()) : "?",
                    hasData ? " (" + net.getOutErrors() + " err)" : "");
        }
    }

    private static void printNetworkParameters(NetworkParams networkParams) {
        System.out.println("Network parameters:");
        System.out.format(" (主机名)Host name: %s%n", networkParams.getHostName());
        System.out.format(" (域名)Domain name: %s%n", networkParams.getDomainName());
        System.out.format(" (DNS服务器)DNS servers: %s%n", Arrays.toString(networkParams.getDnsServers()));
        System.out.format(" (IPv4网关)IPv4 Gateway: %s%n", networkParams.getIpv4DefaultGateway());
        System.out.format(" (IPv6网关)IPv6 Gateway: %s%n", networkParams.getIpv6DefaultGateway());
    }

    private static void printDisplays(Display[] displays) {
        System.out.println("(显示器)Displays:");
        int i = 0;
        for (Display display : displays) {
            System.out.println(" Display " + i + ":");
            System.out.println(display.toString());
            i++;
        }
    }

    private static void printUsbDevices(UsbDevice[] usbDevices) {
        System.out.println("(usb设备)USB Devices:");
        for (UsbDevice usbDevice : usbDevices) {
            System.out.println(usbDevice.toString());
        }
    }
}

运行结果

16:56:28.633 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,33] - 创建systemInfo对象...
16:56:28.641 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,36] - 创建硬件对象Hardware...
16:56:28.646 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,39] - 创建硬件对象Hardware...
操作系统:Microsoft Windows 10 (Home) build 18363
16:56:29.890 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,44] - 正在获取cup信息...
制造商: Timi
型号: TM1705
序列号: 18403/00011111
固件信息:
  制造商: INSYDE Corp.
  名字: XMGKB500P0505
  描述: XMGKB500P0505
  版本: XMCC - 0
baseboard:
  制造商: Timi
  型号: 
  版本: XMGKB500P0505
  序列号: MMG5S0000018085AP00KK
16:56:30.004 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,47] - 处理器信息...
Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
 1 (物理CPU封装)physical CPU package(s)
 4 (物理CPU核心)physical CPU core(s)
 4 (物理CPU核心)logical CPU(s)
(识别)Identifier: Intel64 Family 6 Model 158 Stepping 9
(处理器ID)ProcessorID: BFEBFBFF000906E9
16:56:30.443 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,50] - 获取内存信息...
(内存)Memory: 8.5 GiB/15.9 GiB
(交换使用)Swap used: 1008 KiB/1 GiB
16:56:30.453 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,53] - 获取cup信息...
(正常运行时间)Uptime: 3 days, 15:55:26
(上下文切换/中断)Context Switches/Interrupts: 777442025 / 502072402
(等待)CPU, IOWait, and IRQ ticks @ 0 sec:[77333781, 0, 14145947, 115158468, 0, 457058, 863480, 0]
CPU, IOWait, and IRQ ticks @ 1 sec:[77334000, 0, 14146423, 115161765, 0, 457058, 863488, 0]
User: 5.5% Nice: 0.0% System: 11.9% Idle: 82.4% IOwait: 0.0% IRQ: 0.0% SoftIRQ: 0.2% Steal: 0.0%
(cup使用率)CPU load: 44.6% (counting ticks)
CPU load: 20.9% (OS MXBean)
(平均CPU负载)CPU load averages: N/A N/A N/A
每个处理器的CPU负载: 37.1% 55.6% 43.2% 42.5%
16:56:31.467 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,56] - 获取进程...
(进程)Processes: 221, (线程)Threads: 2594
   PID  %CPU %MEM       VSZ       RSS Name
  9016  97.7  0.8   2.2 GiB 134.2 MiB java
  4452  80.3  0.6   1.6 GiB 105.2 MiB java
     0  36.4  0.0     8 KiB     8 KiB Idle
  4092  27.5 11.1 1016.6 MiB   1.8 GiB idea64
 10680  12.4  0.6   1.6 GiB 102.2 MiB Typora
16:56:31.966 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,59] - 传感器...
(传感器)Sensors:
 (CPU温度)CPU Temperature: 57.0°C
 (风扇转速)Fan Speeds: [0]
 (CPU电压)CPU Voltage: 0.0V
16:56:31.990 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,62] - 电源...
(电源)Power: (充电)Charging
 System Battery @ 100.0%
16:56:31.994 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,65] - 检查磁盘...
(硬盘)Disks:
 \\.\PHYSICALDRIVE1: (model: ST1000LM048-2E7172 (标准磁盘驱动器) - S/N:             WL156PFG) size: 1.0 TB, reads: 92758 (11.4 GiB), writes: 88745 (8.2 GiB), xfer: 1591470084982 ms
 |-- 磁盘 #1,分区 #0: GPT: Basic Data (GPT: 基本数据) Maj:Min=1:0, size: 265.4 GB @ D:\
 |-- 磁盘 #1,分区 #1: GPT: System (GPT: 系统) Maj:Min=1:1, size: 314.6 MB @ F:\
 |-- 磁盘 #1,分区 #2: GPT: Unknown (GPT: 未知) Maj:Min=1:2, size: 51.5 GB
 |-- 磁盘 #1,分区 #3: GPT: Unknown (GPT: 未知) Maj:Min=1:3, size: 650.0 MB
 |-- 磁盘 #1,分区 #4: GPT: Basic Data (GPT: 基本数据) Maj:Min=1:4, size: 157.3 GB @ E:\
 |-- 磁盘 #1,分区 #5: GPT: Basic Data (GPT: 基本数据) Maj:Min=1:5, size: 262.9 GB @ G:\
 |-- 磁盘 #1,分区 #6: GPT: Basic Data (GPT: 基本数据) Maj:Min=1:6, size: 262.1 GB @ H:\
 \\.\PHYSICALDRIVE0: (model: SAMSUNG MZNLN128HAHQ-00000 (标准磁盘驱动器) - S/N: S3TUNF0K118438) size: 128.0 GB, reads: 547959 (12.8 GiB), writes: 320142 (8.2 GiB), xfer: 1591468456164 ms
 |-- 磁盘 #0,分区 #0: GPT: System (GPT: 系统) Maj:Min=0:0, size: 272.6 MB
 |-- 磁盘 #0,分区 #1: GPT: Basic Data (GPT: 基本数据) Maj:Min=0:1, size: 126.6 GB @ C:\
 |-- 磁盘 #0,分区 #2: GPT: Unknown (GPT: 未知) Maj:Min=0:2, size: 1.1 GB
16:56:32.115 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,68] - 检查文件系统...
(文件系统)File System:
 (文件描述)File Descriptors: 90130/16711680
 本地固定磁盘 (C:) (Fixed drive) [NTFS] 29.7 GiB of 117.9 GiB free (25.2%) is \\?\Volume{af7be6b6-3a6b-48b2-ae40-e906d608d1a0}\  and is mounted at C:\
 本地固定磁盘 (D:) (Fixed drive) [NTFS] 114.8 GiB of 247.2 GiB free (46.5%) is \\?\Volume{b3e1fbd7-a1bb-4b8f-852d-f5790c453ac0}\  and is mounted at D:\
 本地固定磁盘 (E:) (Fixed drive) [NTFS] 122.6 GiB of 146.5 GiB free (83.7%) is \\?\Volume{a91a6ffa-9391-4f19-aa19-ca28b787c731}\  and is mounted at E:\
 本地固定磁盘 (G:) (Fixed drive) [NTFS] 181.5 GiB of 244.9 GiB free (74.1%) is \\?\Volume{00344f6b-1124-443e-901b-8e3ef6ba00e0}\  and is mounted at G:\
 本地固定磁盘 (H:) (Fixed drive) [NTFS] 208.5 GiB of 244.1 GiB free (85.4%) is \\?\Volume{3428bafe-c664-495f-a43c-608e4d405a9a}\  and is mounted at H:\
 本地固定磁盘 (F:) (Fixed drive) [FAT] 266.5 MiB of 299.8 MiB free (88.9%) is \\?\Volume{f4df6088-4dc1-4d34-ac89-4df2d8cf6d5f}\  and is mounted at F:\
16:56:32.162 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,71] - 检查网络接口...
(网络接口)Network interfaces:
 Name: wlan0 (Intel(R) Dual Band Wireless-AC 8265)
   MAC Address: 0c:54:15:9c:d3:a3 
   MTU: 1500, Speed: 130 Mbps 
   IPv4: [192.168.31.54] 
   IPv6: [fe80:0:0:0:5103:35b6:8794:ac8e] 
   Traffic: received 973488 packets/592.4 MiB (0 err); transmitted 887106 packets/85.6 MiB (0 err) 
 Name: eth1 (Realtek Gaming GBE Family Controller)
   MAC Address: d8:c4:97:6b:11:32 
   MTU: 1500, Speed: 0 bps 
   IPv4: [] 
   IPv6: [fe80:0:0:0:f51c:1f7:754e:be22] 
   Traffic: received ?/?; transmitted ?/? 
 Name: wlan1 (Microsoft Wi-Fi Direct Virtual Adapter)
   MAC Address: 0e:54:15:9c:d3:a3 
   MTU: 1500, Speed: 0 bps 
   IPv4: [] 
   IPv6: [fe80:0:0:0:5dec:d134:fbce:9d88] 
   Traffic: received ?/?; transmitted ?/? 
 Name: wlan3 (Microsoft Wi-Fi Direct Virtual Adapter #3)
   MAC Address: 0c:54:15:9c:d3:a4 
   MTU: 1500, Speed: 0 bps 
   IPv4: [] 
   IPv6: [fe80:0:0:0:5875:6784:f555:74f5] 
   Traffic: received ?/?; transmitted ?/? 
16:56:32.569 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,74] - 检查网络参数...
Network parameters:
 (主机名)Host name: DESKTOP-T2AUMSF
 (域名)Domain name: DESKTOP-T2AUMSF
 (DNS服务器)DNS servers: [192.168.31.1]
 (IPv4网关)IPv4 Gateway: 192.168.31.1
 (IPv6网关)IPv6 Gateway: 
16:56:32.623 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,78] - 检查显示...
(显示器)Displays:
 Display 0:
  Manuf. ID=BOE, Product ID=747, Digital, Serial=00000000, ManufDate=5/2017, EDID v1.4
  34 x 19 cm (13.4 x 7.5 in)
  Preferred Timing: Clock 152MHz, Active Pixels 1920x1080 
  Preferred Timing: Clock 117MHz, Active Pixels 1920x1080 
  Unspecified Text: BOE CQ
  Unspecified Text: NV156FHM-N61
 Display 1:
  Manuf. ID=TBE, Product ID=2705, Digital, Serial=00000000, ManufDate=4/2020, EDID v1.3
  60 x 34 cm (23.6 x 13.4 in)
  Preferred Timing: Clock 297MHz, Active Pixels 3840x2160 
  Preferred Timing: Clock 148MHz, Active Pixels 1920x1080 
  Monitor Name: HX270SR5
  Range Limits: Field Rate 50-75 Hz vertical, 31--116 Hz horizontal, Max clock: 600 MHz
16:56:32.635 [main] INFO  c.r.w.c.t.SystemInfoTest - [main,82] - 检查USB设备...
(usb设备)USB Devices:
 Intel(R) USB 3.0 可扩展主机控制器 - 1.0 (Microsoft) (通用 USB xHCI 主机控制器)
 |-- USB 根集线器(USB 3.0) ((标准 USB 集线器))
     |-- Realtek USB 2.0 Card Reader (Realtek Semiconductor Corp.)
     |-- USB Composite Device ((标准 USB 主控制器))
         |-- USB 输入设备 ((标准系统设备))
             |-- HID-compliant mouse (Microsoft)
         |-- USB 输入设备 ((标准系统设备))
             |-- HID Keyboard Device ((标准键盘))
             |-- 符合 HID 标准的供应商定义设备 ((标准系统设备))
             |-- 符合 HID 标准的供应商定义设备 ((标准系统设备))
             |-- 符合 HID 标准的用户控制设备 (Microsoft)
             |-- 符合 HID 标准的系统控制器 ((标准系统设备))
     |-- USB Composite Device ((标准 USB 主控制器))
         |-- XiaoMi USB 2.0 Webcam (Microsoft)
     |-- USB Composite Device ((标准 USB 主控制器))
         |-- USB 输入设备 ((标准系统设备))
             |-- HID Keyboard Device ((标准键盘))
         |-- USB 输入设备 ((标准系统设备))
             |-- 符合 HID 标准的用户控制设备 (Microsoft)
             |-- 符合 HID 标准的系统控制器 ((标准系统设备))
     |-- USB 输入设备 ((标准系统设备))
         |-- HID Keyboard Device ((标准键盘))
         |-- 符合 HID 标准的供应商定义设备 ((标准系统设备))
         |-- 符合 HID 标准的用户控制设备 (Microsoft)
     |-- 英特尔(R) 无线 Bluetooth(R) (Intel Corporation)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值