Advertisement
Reykez

javaHardwareMonitor

Jan 12th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.77 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package main;
  7.  
  8. import java.util.Arrays;
  9. import oshi.SystemInfo;
  10. import oshi.hardware.Baseboard;
  11. import oshi.hardware.CentralProcessor;
  12. import oshi.hardware.CentralProcessor.TickType;
  13. import oshi.hardware.ComputerSystem;
  14. import oshi.hardware.Display;
  15. import oshi.hardware.Firmware;
  16. import oshi.hardware.GlobalMemory;
  17. import oshi.hardware.HWDiskStore;
  18. import oshi.hardware.HardwareAbstractionLayer;
  19. import oshi.hardware.NetworkIF;
  20. import oshi.hardware.PowerSource;
  21. import oshi.hardware.Sensors;
  22. import oshi.hardware.UsbDevice;
  23. import oshi.software.os.OperatingSystem;
  24. import oshi.util.FormatUtil;
  25. import oshi.util.Util;
  26.  
  27. /**
  28. *
  29. * @author Reykez
  30. */
  31. public class Main {
  32.  
  33. public static void main(String[] args) {
  34.  
  35. SystemInfo si = new SystemInfo();
  36. HardwareAbstractionLayer hal = si.getHardware();
  37. OperatingSystem os = si.getOperatingSystem();
  38.  
  39. System.out.println("Was working...");
  40.  
  41. System.out.println("System: " + hal.getComputerSystem());
  42. System.out.println("Procesor: " + hal.getProcessor()); // Dobre wyswietlanie
  43. System.out.println("Pamiec: " + hal.getMemory());
  44. System.out.println("Sensory: " + hal.getSensors());
  45. System.out.println("Zrodla energii: " + hal.getPowerSources());
  46. System.out.println("Dyski: " + hal.getDiskStores());
  47. System.out.println("System plikow: " + os.getFileSystem());
  48. System.out.println("Interfejsy sieciowe: " + hal.getNetworkIFs());
  49. System.out.println("Parametry sieci: " + os.getNetworkParams());
  50. System.out.println("Wyswietlacze: " + hal.getDisplays());
  51. System.out.println("Urzadzenia USB: " + hal.getUsbDevices(true));
  52. System.out.println("Karty dzwiekowe: " + hal.getSoundCards());
  53.  
  54. //moboInformation(hal.getComputerSystem());
  55. procInformation(hal.getProcessor(), hal.getSensors());
  56. }
  57.  
  58. public static void moboInformation(ComputerSystem cs) {
  59. System.out.println("System: ");
  60. System.out.println(" Manufaktura: " + cs.getManufacturer()); // Firma MOBO
  61. System.out.println(" Model: " + cs.getModel()); // Nazwa płyty
  62. Firmware fmw = cs.getFirmware();
  63. System.out.println("Firmware: ");
  64. System.out.println(" Manufaktura: " + fmw.getManufacturer()); // Produkcja BIOS
  65. System.out.println(" Nazwa: " + fmw.getName()); // Nazwa BIOS
  66. System.out.println(" Opis: " + fmw.getDescription()); // Opis BIOS
  67. System.out.println(" Wersja: " + fmw.getVersion()); // Wersja BIOS
  68. Baseboard bab = cs.getBaseboard();
  69. System.out.println("BaseBoard:");
  70. System.out.println(" Manufaktura: " + bab.getManufacturer()); // Firma MOBO
  71. System.out.println(" Model: " + bab.getModel());
  72. System.out.println(" Version: " + bab.getVersion());
  73. }
  74.  
  75. public static void procInformation(CentralProcessor proc, Sensors sens) {
  76. System.out.println("Procesor: ");
  77. System.out.println(" Model:" + proc);
  78. System.out.println(" Rdzenie: " + proc.getPhysicalProcessorCount());
  79. System.out.println(" Watki: " + proc.getLogicalProcessorCount());
  80. //System.out.println("Uptime: " + FormatUtil.formatElapsedSecs(proc.getSystemUptime()));
  81. System.out.println(" Temperatura:" + sens.getCpuTemperature());
  82. System.out.println(" Napiecie: " + sens.getCpuVoltage());
  83. System.out.println(" Predkosci wentylatorow:" + Arrays.toString(sens.getFanSpeeds()));
  84.  
  85. }
  86.  
  87. public static void procInformationUsage(CentralProcessor proc) {
  88. long[] prevTicks = proc.getSystemCpuLoadTicks();
  89. System.out.println("CPU, IOWait, and IRQ ticks @ 0 sec:" + Arrays.toString(prevTicks));
  90. // Wait a second...
  91. Util.sleep(1000);
  92. long[] ticks = proc.getSystemCpuLoadTicks();
  93. System.out.println("CPU, IOWait, and IRQ ticks @ 1 sec:" + Arrays.toString(ticks));
  94. long user = ticks[TickType.USER.getIndex()] - prevTicks[TickType.USER.getIndex()];
  95. long nice = ticks[TickType.NICE.getIndex()] - prevTicks[TickType.NICE.getIndex()];
  96. long sys = ticks[TickType.SYSTEM.getIndex()] - prevTicks[TickType.SYSTEM.getIndex()];
  97. long idle = ticks[TickType.IDLE.getIndex()] - prevTicks[TickType.IDLE.getIndex()];
  98. long iowait = ticks[TickType.IOWAIT.getIndex()] - prevTicks[TickType.IOWAIT.getIndex()];
  99. long irq = ticks[TickType.IRQ.getIndex()] - prevTicks[TickType.IRQ.getIndex()];
  100. long softirq = ticks[TickType.SOFTIRQ.getIndex()] - prevTicks[TickType.SOFTIRQ.getIndex()];
  101. long steal = ticks[TickType.STEAL.getIndex()] - prevTicks[TickType.STEAL.getIndex()];
  102. long totalCpu = user + nice + sys + idle + iowait + irq + softirq + steal;
  103.  
  104. System.out.format(
  105. "User: %.1f%% Nice: %.1f%% System: %.1f%% Idle: %.1f%% IOwait: %.1f%% IRQ: %.1f%% SoftIRQ: %.1f%% Steal: %.1f%%%n",
  106. 100d * user / totalCpu, 100d * nice / totalCpu, 100d * sys / totalCpu, 100d * idle / totalCpu,
  107. 100d * iowait / totalCpu, 100d * irq / totalCpu, 100d * softirq / totalCpu, 100d * steal / totalCpu);
  108. System.out.format("CPU load: %.1f%% (counting ticks)%n", proc.getSystemCpuLoadBetweenTicks() * 100);
  109. System.out.format("CPU load: %.1f%% (OS MXBean)%n", proc.getSystemCpuLoad() * 100);
  110. double[] loadAverage = proc.getSystemLoadAverage(3);
  111. System.out.println("CPU load averages:" + (loadAverage[0] < 0 ? " N/A" : String.format(" %.2f", loadAverage[0]))
  112. + (loadAverage[1] < 0 ? " N/A" : String.format(" %.2f", loadAverage[1]))
  113. + (loadAverage[2] < 0 ? " N/A" : String.format(" %.2f", loadAverage[2])));
  114. // per core CPU
  115. StringBuilder procCpu = new StringBuilder("CPU load per processor:");
  116. double[] load = proc.getProcessorCpuLoadBetweenTicks();
  117. for (double avg : load) {
  118. procCpu.append(String.format(" %.1f%%", avg * 100));
  119. }
  120. System.out.println(procCpu.toString());
  121. }
  122.  
  123. public static void diskInformation(HWDiskStore[] ds) {
  124.  
  125. }
  126.  
  127. public static void powerSourcesInformation(PowerSource[] ps) {
  128.  
  129. }
  130.  
  131. public static void networkInterfaceInformation(NetworkIF[] nif) {
  132.  
  133. }
  134.  
  135. public static void memoryInformation(GlobalMemory mem) {
  136.  
  137. }
  138.  
  139. public static void displayInformation(Display[] disp) {
  140.  
  141. }
  142.  
  143. public static void usbDevInformation(UsbDevice[] usbDevices) {
  144.  
  145. }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement