- 所有父级接口:
OperatingSystemMXBean,PlatformManagedObject
- 所有已知的子接口:
UnixOperatingSystemMXBean
运行 Java 虚拟机的操作系统的特定于平台的管理接口。
该接口提供有关运行 Java 虚拟机的操作环境的信息。这可能是本机操作系统、虚拟化操作系统环境或容器管理的环境。
ManagementFactory.getOperatingSystemMXBean() 返回的OperatingSystemMXBean 对象是此接口或UnixOperatingSystemMXBean 接口的实现类的实例,具体取决于其底层操作系统。
- 自从:
- 1.5
-
方法总结
修饰符和类型方法描述long返回保证对正在运行的进程可用的虚拟内存量(以字节为单位),如果不支持此操作,则返回-1。double返回操作环境的“最近的 CPU 使用率”。long返回以字节为单位的可用内存量。default long已弃用。long返回以字节为单位的可用交换空间量。double返回 Java 虚拟机进程的“最近的 CPU 使用率”。long返回运行 Java 虚拟机的进程使用的 CPU 时间(以纳秒为单位)。default double已弃用。使用getCpuLoad()而不是这个历史上命名的方法。long返回以字节为单位的内存总量。default long已弃用。使用getTotalMemorySize()而不是这个历史上命名的方法。long返回以字节为单位的交换空间总量。在接口 java.lang.management.OperatingSystemMXBean 中声明的方法
getArch, getAvailableProcessors, getName, getSystemLoadAverage, getVersion在接口 java.lang.management.PlatformManagedObject 中声明的方法
getObjectName
-
方法详情
-
getCommittedVirtualMemorySize
long getCommittedVirtualMemorySize()返回保证对正在运行的进程可用的虚拟内存量(以字节为单位),如果不支持此操作,则返回-1。- 返回:
-
保证可用于正在运行的进程的虚拟内存量(以字节为单位),如果不支持此操作,则为
-1。
-
getTotalSwapSpaceSize
long getTotalSwapSpaceSize()返回以字节为单位的交换空间总量。- 返回:
- 以字节为单位的交换空间总量。
-
getFreeSwapSpaceSize
long getFreeSwapSpaceSize()返回以字节为单位的可用交换空间量。- 返回:
- 以字节为单位的可用交换空间量。
-
getProcessCpuTime
long getProcessCpuTime()返回运行 Java 虚拟机的进程使用的 CPU 时间(以纳秒为单位)。返回值具有纳秒精度,但不一定是纳秒精度。如果平台不支持此操作,此方法返回-1。- 返回:
-
进程使用的 CPU 时间(以纳秒为单位),如果不支持此操作,则为
-1。
-
getFreePhysicalMemorySize
已弃用。使用getFreeMemorySize()而不是这个历史上命名的方法。返回以字节为单位的可用物理内存量。- 实现要求:
-
此实现必须返回与
getFreeMemorySize()相同的值。 - 返回:
- 以字节为单位的可用物理内存量。
-
getFreeMemorySize
long getFreeMemorySize()返回以字节为单位的可用内存量。- 返回:
- 以字节为单位的可用内存量。
- 自从:
- 14
-
getTotalPhysicalMemorySize
已弃用。使用getTotalMemorySize()而不是这个历史上命名的方法。返回以字节为单位的物理内存总量。- 实现要求:
-
此实现必须返回与
getTotalMemorySize()相同的值。 - 返回:
- 以字节为单位的物理内存总量。
-
getTotalMemorySize
long getTotalMemorySize()返回以字节为单位的内存总量。- 返回:
- 以字节为单位的内存总量。
- 自从:
- 14
-
getSystemCpuLoad
已弃用。使用getCpuLoad()而不是这个历史上命名的方法。返回整个系统的“最近的 CPU 使用率”。该值是 [0.0,1.0] 区间内的双精度值。值 0.0 表示在最近一段时间内所有 CPU 都处于空闲状态,而值 1.0 表示在最近一段时间内所有 CPU 都在 100% 的时间内处于活动状态。根据系统中正在进行的活动, 0.0 和 1.0 之间的所有值都是可能的。如果系统最近的 cpu 使用率不可用,则该方法返回负值。- 实现要求:
-
此实现必须返回与
getCpuLoad()相同的值。 - 返回:
- 整个系统的“最近的 CPU 使用率”;如果不可用,则为负值。
- 自从:
- 1.7
-
getCpuLoad
double getCpuLoad()返回操作环境的“最近的 CPU 使用率”。该值是 [0.0,1.0] 区间内的双精度值。值 0.0 表示在最近一段时间内所有 CPU 都处于空闲状态,而值 1.0 表示在最近一段时间内所有 CPU 都在 100% 的时间内处于活动状态。根据正在进行的活动,0.0 和 1.0 之间的所有值都是可能的。如果最近的 cpu 使用率不可用,则该方法返回一个负值。- 返回:
- 整个操作环境的“最近的 CPU 使用率”;如果不可用,则为负值。
- 自从:
- 14
-
getProcessCpuLoad
double getProcessCpuLoad()返回 Java 虚拟机进程的“最近的 CPU 使用率”。该值是 [0.0,1.0] 区间内的双精度值。值 0.0 表示在观察到的最近一段时间内没有任何 CPU 运行来自 JVM 进程的线程,而值 1.0 表示所有 CPU 在最近一段时间内 100% 的时间都在运行来自 JVM 的线程被观察。来自 JVM 的线程包括应用程序线程和 JVM 内部线程。根据 JVM 进程和整个系统中正在进行的活动,0.0 和 1.0 之间的所有值都是可能的。如果 Java 虚拟机最近的 CPU 使用率不可用,则该方法返回一个负值。- 返回:
- Java 虚拟机进程的“最近的 CPU 使用率”;如果不可用,则为负值。
- 自从:
- 1.7
-
getFreeMemorySize()而不是这个历史上命名的方法。