Java 虚拟机和交换空间

2024-01-31

感谢这里的任何专家可以就以下 JVM 和交换空间相关查询提供建议。提前致谢

1) 当 JVM Java 堆、永久代或本机堆中发生内存不足时,操作系统将使用交换空间,我对吗?或者交换空间用于本机堆中的内存不足?

2)我是否正确,本机堆大小在 JVM 中不可配置,因为操作系统会在运行时将可用 RAM 分配给 JVM?

3) 如何为 JVM 启用交换空间,或者默认为 Unix 和 Window 级别的所有进程启用交换空间?

4) 了解交换空间会影响应用程序性能,这是禁用 JVM 交换空间的最佳实践吗?如果不是,原因是什么?

5) 我们如何在 Unix 和 Window 操作系统中禁用交换空间并更改特定 JVM 的交换空间大小,或者它只能在操作系统级别进行配置,应用于操作系统中的所有进程?


这里有很多问题...操作系统确实使用swap空间来创造所谓的virtual memory(这显然比您可能拥有的 RAM 大)。这是usually默认情况下启用,但您需要检查。

您不能指示 JVM 仅使用物理 RAM AFAIK,但这将是操作系统本身的限制,而不是 JVM(这应该回答 5)。

您可以禁用交换(再次对于操作系统,而不是 JVM),但这是一个坏主意。操作系统内部运行着多个进程,每个进程都需要运行空间(在某个时间点可能会超出您的实际 RAM)。它确实会影响性能,但更糟糕的是 - 一些性能损失(我假设操作系统有很多东西可以让这对你来说更好)或应用程序的死亡? (这应该回答 4)。

关于 (2),有两个参数控制您将拥有多少堆:Xmx- JVM 进程将使用的最大堆。和Xms- 初始堆。其实最近有一个很好的讨论:here https://stackoverflow.com/questions/43302720/does-xms-and-xmx-flags-reserve-machines-resources-in-java/43307880#43307880.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 虚拟机和交换空间 的相关文章

  • 性能说明:预热后代码运行速度变慢

    下面的代码运行完全相同的计算 3 次 它没有做太多事情 基本上将 1 到 100m 之间的所有数字相加 前 2 个块的运行速度大约是第三个块的 10 倍 我已经运行这个测试程序超过 10 次 结果显示差异很小 如果有的话 我希望第三个块运行
  • CATALINA_OPTS 与 JAVA_OPTS - 有什么区别?

    我试图找出 Apache Tomcat 变量之间的区别 CATALINA OPTS and JAVA OPTS in SO http stackoverflow com并惊讶地发现这里还没有发布问题 答案 所以我想在发现差异后在这里分享 带
  • Java动态澄清

    我在术语下看到了这段摘录Java 流行语在读一本关于Java的书时我不明白 Dynamic Java 程序带有大量的运行时类型信息 用于在运行时验证和解析对对象的访问 这使得以安全且方便的方式动态链接代码成为可能 这对于 Java 环境的稳
  • JVM CPU 峰值故障排除

    我们在其中一台应用程序服务器上发现了一个有趣的 尽管相当严重 问题 在某个时间点 运行 Web 应用程序的 JVM 的 CPU 使用率开始上升 并持续上升 直到应用程序最终减慢到爬行 修复此问题的唯一方法是重新启动应用程序服务器软件 应用服
  • 如果只有完全限定名称,如何获取 java 类的二进制名称?

    反射类和方法以及类加载器等需要使用所谓的 二进制 类名称 问题是 如果只有完全限定名称 即在源代码中使用的名称 如何获得二进制名称 例如 package frege public static class RT public static
  • getResourceAsStream(file) 在哪里搜索文件?

    我很困惑getResourceAsStream 我的包结构如下 src net floodlightcontroller invoked getResourceAsStream here resources floodlightdefaul
  • JVM HotSpot 上的 Java 异常计数器

    我想知道是否可以在不更改应用程序代码的情况下记录 JVM 级别上发生的每个异常 我所说的每个异常是指捕获和未捕获的异常 我想稍后分析这些日志并按异常类型 类 对它们进行分组 并简单地按类型对异常进行计数 我正在使用热点 也许有更明智的理由这
  • 使用 + 符号连接字符串

    今天我在读书Antonio 关于 toString 性能的博客 https antoniogoncalves org 2015 06 30 who cares about tostring performance 还有一段话 昨天曾经被认为
  • 热点 JVM 字节码解释器是跟踪 JIT 吗?

    这个问题几乎说明了一切 我一直在寻找答案 甚至通过 VM 规范 但我没有明确说明 No 不过 还有一些其他 JVM 具有跟踪 JIT HotPath http HotPath GoogleCode Com and Maxine http L
  • 如何查看JVM中JIT编译的代码?

    有什么方法可以查看 JVM 中 JIT 生成的本机代码吗 一般用法 正如其他答案所解释的 您可以使用以下 JVM 选项运行 XX UnlockDiagnosticVMOptions XX PrintAssembly 根据特定方法进行过滤 您
  • 非活动状态下的 Spring Boot 堆使用情况

    我在本地部署了一个非常简单的 spring boot 应用程序 它只有一个类 控制器 差不多就这样了 我注意到堆分配并不稳定 并且有峰值和突然下降 为什么会这样 我没有对应用程序进行过一次调用 A view from VisualVM 事实
  • 如何计算Java数组的内存大小?

    我知道如何通过添加三个部分来计算Java对象的内存大小 标头 属性 引用 我还知道Java数组也是一个对象 但是当我读到 Understanding the JVM Advanced Features and Best Practices
  • 什么触发了java垃圾收集器

    我对 Java 中垃圾收集的工作原理有点困惑 我知道当不再有对某个对象的实时引用时 该对象就有资格进行垃圾回收 但是如果它有对实时对象的引用怎么办 可以说我有一个节点集合 它们再次引用更多节点 List 1 gt Node a gt Nod
  • 启用JConsole远程监控是否会影响生产中的系统性能?

    Oracle Sun 说只要不在生产环境中本地运行就可以吗 http download oracle com javase 1 5 0 docs guide management jconsole html http download or
  • 在 HP Load Runner 的 VuGen 中加载 javai.dll 时出现错误

    当我尝试在 HP load runner 的 VuGen 中编译一个简单的脚本时 无法启动 JVM 并出现以下错误 Java VM Internal Error Getting Error Loading javai dll 我在用着 HP
  • Scala 中的多个类型下限

    我注意到tuple productIterator总是返回一个Iterator Any 想知道是否无法设置多个下限 因此它可能是最低公共超类型的迭代器 我尝试并搜索了一下 但只发现this https stackoverflow com q
  • 监控 Java 应用程序上的锁争用

    我正在尝试创建一个小基准 在 Groovy 中 以显示几个同步方法上的高线程争用 当监控自愿上下文切换时 应该会出现高争用 在 Linux 中 这可以通过 pidstat 来实现 程序如下 class Res private int n s
  • 强制jvm返回本机内存[重复]

    这个问题在这里已经有答案了 我时不时地运行需要大量内存的 eclipse 任务 因此 当任务运行时 jvm 会消耗大约 2 3GB 的 RAM 这是可以的 但是一旦 jvm 占用了该内存 它就不会释放它 并且我遇到了一种情况 堆中已用内存约
  • Java 类:匿名类、嵌套类、私有类

    有人能解释一下Java中匿名类 嵌套类和私有类之间的区别吗 我想知道与每个相关的运行时成本以及每个编译器的方法 这样我就可以掌握哪个最适合用于例如性能 编译器优化的潜力 内存使用以及其他 Java 编码人员的普遍可接受性 我所说的匿名类是指
  • OQL 包中的所有实例

    是否有可能在OQL检索属于一个包的所有对象 或者我可以查询wildcards 正如 haridsv 建议我尝试过的 SELECT from com example and SELECT a from com example but in V

随机推荐

  • 测量java短时运行线程执行时间

    我目前正在开发某种数据库基准测试应用程序 基本上 我想做的是使用线程模拟一定数量的客户端 这些客户端在特定时间段内对数据库重复相同的操作 例如 读取操作 在此期间 我想在每个线程中测量从数据库获取答案的平均延迟 我的第一选择是依赖 Thre
  • Go,Golang:结构内的数组类型,缺少类型复合文字

    我需要向该结构添加切片类型 type Example struct text string func main var arr Example a b c fmt Println arr 然后我得到 prog go 11 missing t
  • Visual Studio 2010 构建无法进行文件复制错误

    我正在 Visual Studio 2010 中构建一个项目 但构建失败 因为它无法将 assemblyname dll 文件从 obj 复制到 bin 文件夹 确切的错误消息是 错误7 无法将文件 obj Debug AssemblyNa
  • 获取不包含给定列值的子集

    我有一张桌子叫data A 22 B 333 C Not Av D Not Av 我怎样才能获得一个子集 其中所有行都包含 Not Av 被排除在外 值得一提的是 我有要检查的列的索引 在本例中colnum 2 但我不知道它的名字 我尝试了
  • 为什么 .NET 框架中没有托管 MD5 实现?

    重写的问题 请参阅原始历史 问题就在标题里 为什么 NET 框架中没有托管 MD5 实现 我具体说的是一个纯托管代码MD5算法的实现 NET框架中不存在该算法 在 System Security Cryptography 命名空间中 我知道
  • 使用 SQLite 修复数据路径未找到错误

    我已经让 sqlite 数据库在编辑器中工作得很好 然而 当在 Android 中使用它时 我收到一条错误消息 指出未找到数据路径 我相信我在正确的plugins android 文件夹中拥有所需的 libsqlite so 文件以及编辑器
  • 无法在 Apache Airflow 中设置 DB2/DashDB JDBC 连接

    我正在尝试使用 Airflow UI 创建 DB2 DashDB 连接 我添加了 db2jcc4 jar 驱动程序并提供了路径以及类名 com ibm db2 jcc DB2Driver class 我尝试运行一个简单的查询 在临时 UI
  • 获取页面上特定类型的所有Web控件

    我一直在思考如何获取页面上的所有控件 然后在此相关问题中对它们执行任务 如何以编程方式搜索 C DropDownList https stackoverflow com questions 869122 how to search thro
  • 为什么我的子域重定向到我的主域?

    所以基本上 我有一个子域 m mydomain com au尽管每次我访问它时 我都会被重定向到www mydomain com au m 例如 如果我尝试去m mydomain com au contact php 我会自动重定向到www
  • Python Bottle - 如何在不关闭服务器的情况下上传媒体文件

    我正在使用来自的答案这个问题 https stackoverflow com questions 14296438 bottle file upload and process并看到评论 raw data file read This is
  • UIImage 调整纵横比填充和裁剪

    我有这个代码 我拍摄了一张尺寸为 2448x3264 的照片 我需要调整大小并调整到左上角的屏幕显示 对不起我的英语谢谢 void imagePickerController UIImagePickerController picker d
  • 如何解决“应用程序在使用 Google Play 服务时遇到问题。请重试。”

    我已经用react native做一个项目大约4个月了 现在使用 react native 0 57 4 它由我正在渲染 修改 开发的地图视图组成 react native maps 0 22 1 突然我现在遇到了这个错误 App is h
  • 如何在 python/django 中 fork 一个进程?

    然而 在 django 的上下文中 这更像是一个 Python 常见问题 现在我在 django 中有这个视图 它必须处理大量数据 通常 服务器 使用代理运行的 nginx 和 django 需要几分钟才能完成此操作 有时服务器会超时 我不
  • adb 无法在 Ubuntu 64 上运行 - 找不到命令

    Update 在做了更多实验之后 我必须完全重新表述我的问题 因为我被终端愚弄了 只是我发出来的时候并没有显示错误信息须藤 adb 如果我 cd 进入 ANDOID SDK platform tools 目录并运行 adb I get co
  • CSS - 如何强制元素达到父元素剩余/可用空间的 100%,而不超出它?

    在我看来 这似乎是一个非常业余的问题 但尽管如此 它仍然是一个令人沮丧的异常情况 这实际上是两部分问题的第二部分 第一部分是一个相当常见的部分 涉及让元素拉伸到其父对象的 100 高度 在我的演示中 我有以下 HTML div DIV 1
  • jQuery UI datepicker:配置键盘快捷键

    我用jQuery UI 日期选择器 http jqueryui com demos datepicker 让用户选择一个日期 它有一些快捷键 以便可以使用键盘进行控制 page up down previous next month ctr
  • 动态库映像不包含x86_64、i386架构

    我正在尝试为 iOS 构建动态库 并结合架构 armv7 armv7s arm64 i386 x86 64 Here is my target s Build Settings 如您所见 我已将 x86 64 和 i386 添加到架构 an
  • 在 iPad 上调试 JavaScript 错误

    有什么方法可以调试在 iPad 上运行的 JavaScript 页面吗 转到此位置 并启用调试控制台 iOS6 调试控制台消失了 使用替代方案使其发挥作用 例如 Firebug Lite 看看这里的相关问题 iOS6 删除了 iPad 的控
  • 不存在的模型类的雄辩关系

    我希望在我的应用程序中拥有许多模型 模块 但其中一些模型 模块将被某些客户删除 现在我有这样的关系 public function people return this gt hasMany People model id 当我跑步时 mo
  • Java 虚拟机和交换空间

    感谢这里的任何专家可以就以下 JVM 和交换空间相关查询提供建议 提前致谢 1 当 JVM Java 堆 永久代或本机堆中发生内存不足时 操作系统将使用交换空间 我对吗 或者交换空间用于本机堆中的内存不足 2 我是否正确 本机堆大小在 JV