Class MacCentralProcessor
java.lang.Object
oshi.hardware.common.AbstractCentralProcessor
oshi.hardware.common.platform.mac.MacCentralProcessor
- All Implemented Interfaces:
CentralProcessor
Base class for macOS CentralProcessor implementations. Subclasses provide platform-specific sysctl, IOKit, and Mach
kernel calls.
-
Nested Class Summary
Nested classes/interfaces inherited from interface CentralProcessor
CentralProcessor.LogicalProcessor, CentralProcessor.PhysicalProcessor, CentralProcessor.ProcessorCache, CentralProcessor.ProcessorIdentifier, CentralProcessor.TickType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final longprotected static final intprotected static final intprotected static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidprotected longprotected longgetMaxFreqFromByteArray(byte[] data) protected longprotected Quartet<List<CentralProcessor.LogicalProcessor>, List<CentralProcessor.PhysicalProcessor>, List<CentralProcessor.ProcessorCache>, List<String>> Initializes logical and physical processor lists and feature flags.protected booleanisArm()protected abstract StringlongGet number of context switcheslong[]Get processor current frequency.longGet number of interruptslongGet processor max frequency.protected CentralProcessor.ProcessorIdentifierUpdates logical and physical processor counts and arraysprotected voidsetEfficiencyCoreFrequency(long freq) protected voidsetPerformanceCoreFrequency(long freq) protected abstract intprotected abstract intsysctlIntNoWarn(String name, int defaultValue) protected abstract longsysctlLong(String name, long defaultValue) protected abstract StringsysctlString(String name, String defaultValue) protected abstract StringsysctlStringNoWarn(String name, String defaultValue) Methods inherited from class AbstractCentralProcessor
createProcessorID, createProcessorID, createProcListFromDmesg, getContextSwitches, getCurrentFreq, getFeatureFlags, getInterrupts, getLogicalProcessorCount, getLogicalProcessors, getMaxFreq, getPhysicalPackageCount, getPhysicalProcessorCount, getPhysicalProcessors, getProcessorCaches, getProcessorCpuLoadBetweenTicks, getProcessorCpuLoadBetweenTicks, getProcessorCpuLoadTicks, getProcessorIdentifier, getSystemCpuLoadBetweenTicks, getSystemCpuLoadBetweenTicks, getSystemCpuLoadTicks, orderedProcCaches, queryProcessorCpuLoadTicks, querySystemCpuLoadTicks, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface CentralProcessor
getProcessorCpuLoad, getSystemCpuLoad, getSystemLoadAverage
-
Field Details
-
ARM_CPUTYPE
protected static final int ARM_CPUTYPE- See Also:
-
M1_CPUFAMILY
protected static final int M1_CPUFAMILY- See Also:
-
M2_CPUFAMILY
protected static final int M2_CPUFAMILY- See Also:
-
M3_CPUFAMILY
protected static final int M3_CPUFAMILY- See Also:
-
DEFAULT_FREQUENCY
protected static final long DEFAULT_FREQUENCY- See Also:
-
-
Constructor Details
-
MacCentralProcessor
public MacCentralProcessor()
-
-
Method Details
-
sysctlInt
-
sysctlIntNoWarn
-
sysctlLong
-
sysctlString
-
sysctlStringNoWarn
-
platformExpert
-
queryCompatibleStrings
-
calculateNominalFrequencies
protected abstract void calculateNominalFrequencies() -
getPerformanceCoreFrequency
protected long getPerformanceCoreFrequency() -
setPerformanceCoreFrequency
protected void setPerformanceCoreFrequency(long freq) -
getEfficiencyCoreFrequency
protected long getEfficiencyCoreFrequency() -
setEfficiencyCoreFrequency
protected void setEfficiencyCoreFrequency(long freq) -
isArm
protected boolean isArm() -
queryProcessorId
Description copied from class:AbstractCentralProcessorUpdates logical and physical processor counts and arrays- Specified by:
queryProcessorIdin classAbstractCentralProcessor- Returns:
- An array of initialized Logical Processors
-
initProcessorCounts
protected Quartet<List<CentralProcessor.LogicalProcessor>, List<CentralProcessor.PhysicalProcessor>, List<CentralProcessor.ProcessorCache>, List<String>> initProcessorCounts()Description copied from class:AbstractCentralProcessorInitializes logical and physical processor lists and feature flags.- Specified by:
initProcessorCountsin classAbstractCentralProcessor- Returns:
- Lists of initialized Logical Processors, Physical Processors, Processor Caches, and Feature Flags.
-
queryCurrentFreq
public long[] queryCurrentFreq()Description copied from class:AbstractCentralProcessorGet processor current frequency.- Specified by:
queryCurrentFreqin classAbstractCentralProcessor- Returns:
- The current frequency.
-
queryMaxFreq
public long queryMaxFreq()Description copied from class:AbstractCentralProcessorGet processor max frequency.- Overrides:
queryMaxFreqin classAbstractCentralProcessor- Returns:
- The max frequency.
-
queryContextSwitches
public long queryContextSwitches()Description copied from class:AbstractCentralProcessorGet number of context switches- Specified by:
queryContextSwitchesin classAbstractCentralProcessor- Returns:
- The context switches
-
queryInterrupts
public long queryInterrupts()Description copied from class:AbstractCentralProcessorGet number of interrupts- Specified by:
queryInterruptsin classAbstractCentralProcessor- Returns:
- The interrupts
-
getMaxFreqFromByteArray
protected long getMaxFreqFromByteArray(byte[] data)
-