当前位置: 首页 > 面试题库 >

从Java获取操作系统内存大小

鄢晔
2023-03-14
问题内容

有什么办法可以通过Java获取操作系统上的总内存量?使用

Runtime.getRuntime().maxMemory()

返回JVM允许的内存,而不是操作系统的内存。有没有人有办法(从Java代码)获取此信息?


问题答案:
com.sun.management.OperatingSystemMXBean bean =
  (com.sun.management.OperatingSystemMXBean)
    java.lang.management.ManagementFactory.getOperatingSystemMXBean();
long max = bean.getTotalPhysicalMemorySize();

返回JVM的可用RAM大小(受32位限制),而不是堆大小。



 类似资料:
  • 存储器工作原理 应用程序如何在计算机系统上运行的呢?首先,用编程语言编写和编辑应用程序,所编写的程序称为源程序,源程序不能再计算机上直接被运行,需要通过三个阶段的处理:编译程序处理源程序并生成目标代码,链接程序把他们链接为一个可重定位代码,此时该程序处于逻辑地址空间中;下一步装载程序将可执行代码装入物理地址空间,直到此时程序才能运行。 程序编译 源程序经过编译程序的处理生成目标模块(目标代码)。一

  • 问题内容: 我目前正在构建一个Java应用程序,该应用程序最终可能在许多不同的平台上运行,但主要是Solaris,Linux和Windows的变体。 是否有人能够成功提取信息,例如当前使用的磁盘空间,CPU利用率和底层操作系统中使用的内存?Java应用程序本身正在消耗什么呢? 最好我不使用JNI来获取此信息。 问题答案: 你可以从Runtime类中获取一些有限的内存信息。确实不是你要找的东西,但我

  • 问题内容: 如何从节点外壳访问操作系统? 上下文:我正在节点中编写脚本,该脚本要使用默认程序打开文件,并且执行此操作的命令因操作系统而异。 我已经尝试过使用标准javascript方式来获取操作系统,但是它们没有起作用(出于明显的原因,节点中没有)。 是否可以在不安装非标准模块的情况下执行此操作? 问题答案: 警告 :这可能已过时 node.js中没有对象,因为它没有在浏览器中运行。它在系统中运行

  • 问题内容: 我还无法找出如何使用PHP进行操作,并想尝试找出答案。 我注意到他们列出了,其中提供了有关浏览器的大量信息。他们是从中获取操作系统信息还是从别的东西获取操作系统信息?有没有我可以用来获取用户操作系统的API? 我知道他们是如何获得浏览器和IP的,但无法弄清操作系统部分! 问题答案: 下面的代码可以单独说明如何显示某人正在使用哪个操作系统。 它的作用是嗅探您的核心操作系统模型,例如作为我

  • 问题内容: 我对JVM内存管理(至少对于SUN的内存管理)有疑问。 我想知道如何控制JVM将未使用的内存发送回OS(以我的情况为Windows)的事实。 我编写了一个简单的Java程序来说明我的期望。使用- Dcom.sun.management.jmxremote选项运行它,以便例如也可以使用jconsole监视堆。 使用以下程序: 一旦第一个GC完成(预期),内部堆就释放了,但是内存仅从第三个

  • 虚拟内存 分页系统地址映射 页面置换算法 1. 最佳 2. 最近最久未使用 3. 最近未使用 4. 先进先出 5. 第二次机会算法 6. 时钟 分段 段页式 分页与分段的比较 虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被