Class SystemCpuOshi

java.lang.Object
io.deephaven.process.SystemCpuOshi
All Implemented Interfaces:
PropertySet

@Immutable public abstract class SystemCpuOshi extends Object implements PropertySet
The Central Processing Unit (CPU) or the processor is the portion of a computer system that carries out the instructions of a computer program, and is the primary element carrying out the computer's functions.
  • Constructor Details

    • SystemCpuOshi

      public SystemCpuOshi()
  • Method Details

    • getVendor

      @Parameter public abstract String getVendor()
      Processor vendor.
      Returns:
      vendor string.
    • getName

      @Parameter public abstract String getName()
      Name, eg. Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz
      Returns:
      Processor name.
    • getVendorFreq

      @Parameter public abstract OptionalLong getVendorFreq()
      Vendor frequency (in Hz), eg. for processor named Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz the vendor frequency is 2000000000.
      Returns:
      Processor frequency, if known
    • getProcessorID

      @Parameter public abstract String getProcessorID()
      Gets the Processor ID. This is a hexidecimal string representing an 8-byte value, normally obtained using the CPUID opcode with the EAX register set to 1. The first four bytes are the resulting contents of the EAX register, which is the Processor signature. The remaining four bytes are the contents of the EDX register, containing feature flags.

      NOTE: The order of returned bytes is platform and software dependent. Values may be in either Big Endian or Little Endian order.

      Returns:
      A string representing the Processor ID
    • getStepping

      @Parameter public abstract String getStepping()
      Returns:
      the stepping
    • getModel

      @Parameter public abstract String getModel()
      Returns:
      the model
    • getFamily

      @Parameter public abstract String getFamily()
      Returns:
      the family
    • getLogicalProcessorCount

      @Parameter public abstract int getLogicalProcessorCount()
      Get the number of logical CPUs available for processing. This value may be higher than physical CPUs if hyperthreading is enabled.
      Returns:
      The number of logical CPUs available.
    • getPhysicalProcessorCount

      @Parameter public abstract int getPhysicalProcessorCount()
      Get the number of physical CPUs/cores available for processing.
      Returns:
      The number of physical CPUs available.
    • getPhysicalPackageCount

      @Parameter public abstract int getPhysicalPackageCount()
      Get the number of packages/sockets in the system. A single package may contain multiple cores.
      Returns:
      The number of physical packages available.
    • is64bit

      @Parameter public abstract boolean is64bit()
      Is CPU 64bit?
      Returns:
      True if cpu is 64bit.
    • traverse

      public final void traverse(PropertyVisitor visitor)
      Description copied from interface: PropertySet
      Traverse this property set and output the property key/values to the given visitor.

      Callers should typically prefer to call PropertyVisitor.visitProperties(PropertySet), as the inversion of logic allows the visitor (the more stateful object) to potentially perform initialization logic and traverse more efficiently.

      Specified by:
      traverse in interface PropertySet
      Parameters:
      visitor - the visitor
      See Also:
    • from

      public static SystemCpuOshi from(oshi.hardware.CentralProcessor centralProcessor)