JVM 和内存使用 - JRun 服务器未使用完整的 PSPermGen 分配?

2024-02-19

我试图理解为什么 ColdFusion 9 (JRun) 服务器抛出以下错误:

java.lang.OutOfMemoryError: requested 32756 bytes for ChunkPool::allocate. Out of swap space?

JVM 参数如下:

-server -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -

当转储发生时,我正在运行 jconsole,并且我正在尝试将一些数字与-XX:MaxPermSize=192m设置如上。当 JRun 死亡时,它的内存使用情况如下:

Heap
 PSYoungGen      total 136960K, used 60012K [0x5f180000, 0x67e30000, 0x68d00000)
  eden space 130624K, 45% used [0x5f180000,0x62c1b178,0x67110000)
  from space 6336K, 0% used [0x67800000,0x67800000,0x67e30000)
  to   space 6720K, 0% used [0x67110000,0x67110000,0x677a0000)
 PSOldGen        total 405696K, used 241824K [0x11500000, 0x2a130000, 0x5f180000)
  object space 405696K, 59% used [0x11500000,0x20128360,0x2a130000)
 PSPermGen       total 77440K, used 77070K [0x05500000, 0x0a0a0000, 0x11500000)
  object space 77440K, 99% used [0x05500000,0x0a043af0,0x0a0a0000)

我的第一个问题是转储显示PSPermGen问题是 - 它说总数是 77440K,但它应该是 196608K(基于我的 192m JVM 参数),对吗?我在这里缺少什么?这与另一个非堆池 - 代码缓存有关吗?

我在 32 位计算机、Windows Server 2008 Standard 上运行。我正在考虑增加PSPermGenJVM 参数,但我想了解为什么它似乎没有使用当前的分配。

提前致谢!


当 JVM 向操作系统请求更多内存,而操作系统由于所有交换(磁盘)空间已被分配而无法满足该请求时,就会发生“交换空间不足”OOME。基本上,您已经达到了可用虚拟内存量的系统范围硬限制。

发生这种情况并不是您的应用程序或 JVM 的错误。或者这可能是增加的结果-Xmx等等超出了你的系统的支持能力。

有三种方法可以解决这个问题:

  • 向系统添加更多物理内存。

  • 增加系统上可用的交换空间量;例如在 Linux 上查看手册条目swapon和朋友。 (但要小心,活动虚拟内存与物理内存的比率不要太大……否则您的系统很容易“崩溃”,性能会急剧下降。)

  • 减少系统上运行的进程的数量和大小。

如果你陷入这种情况是因为你一直在增加-Xmx为了对抗其他 OOME,那么现在是追踪(可能的)内存泄漏的好时机,这是问题的根本原因。

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

JVM 和内存使用 - JRun 服务器未使用完整的 PSPermGen 分配? 的相关文章

随机推荐

  • Tkinter - 如何将实例变量传递给另一个类?

    我用谷歌搜索了很多 但没有成功 上周发布了一个问题 但没有答案 因为似乎太长了 希望新问题更加清晰 这只是一小段代码 如果您运行它 您将能够重现该问题 我基本上需要做的是获取用户输入 来自 mainGUI 类的 E1 并将其传递给数据库类中
  • Firebase 数据库中“加载文档时出错”

    我在尝试访问时遇到错误Database内的菜单项Firebase 控制台 这是一个新的数据库 实际上有几条数据记录 但屏幕一直旋转很长时间 然后返回消息 加载文档时出错 同时我可以访问验证菜单项没有任何问题 Note 我使用的是配备 Cat
  • yii 执行自定义命令时出错

    当我运行自定义时 出现以下错误yiic终端中的命令 我似乎无法找出此错误的原因 任何人都可以指出我正确的方向 我知道数据库工作正常 应用程序的其他部分工作正常
  • 这段简单的代码的复杂性是多少?

    I m pasting this text from an ebook I have It says the complexity if O n2 and also gives an explanation for it but I fai
  • XSLT:没有属​​性且没有子元素的元素转换为父属性

    给定 xml 文件的结构 名称和值未知 对于每个具有简单结构 没有子节点 没有属性 但有文本且不为空 的非根元素 将其转换为父级的属性 我有 xml 文件
  • 房间和可用日期 PHP/MySQL

    因此 我正在设计一个适用于酒店的 Web 应用程序 它最终应该成为通过一些额外代码为每个酒店网站安装的简单方法 该应用程序是使用 php 和 mysql 因此 正如您可能猜到的那样 我对数据库结构非常困惑 不过 我做了一些研究 我不仅仅是要
  • Git clean 被忽略的文件夹

    我有一个文件夹foo包含在 gitignore 中 gitignore this contains foo foo bar 当我跑步时git clean f or git clean f x 这不会删除bar bar是一个普通文件 有没有办
  • boto3.Bucket.upload_file 是阻塞还是非阻塞?

    Is boto3 Bucket upload file http boto3 readthedocs io en latest reference services s3 html S3 Bucket upload file阻塞还是非阻塞
  • 插入多对多关系表

    简单场景 ClientTable ClientId ClientName Phone Age CityTable CityID CityName Country ClientCityTable ClientCityID ClientID C
  • 如何在 html 文本区域中显示以下文本?

    我有一个如下所示的字符串 请看一下 我把它作为图像 这里也不显示 如果我将该字符串放在这里 它就会变成以下内容 21154537878887GHE u0044 u0045 现在我的问题是 有没有办法将原始字符串放入 HTML 中
  • 有什么方法可以从 lme4 mer 模型拟合对象生成 LaTeX 表吗?

    有谁知道如何从 lme4 生成一个好的出版质量的 LaTeX 表mer目的 既没有xtable方法 包xtable 也不latex方法 包Hmisc 知道如何处理mer对象 例如 考虑到这种拟合 library lme4 fm1 lt lm
  • 如何更改 Rails 应用程序数据?

    我看过很多关于 ActiveRecord 迁移以及是否应该使用它们来更改应用程序中的数据的讨论 有些人说是 有些人说不 我的问题是 如果您不使用迁移来执行此操作 那么您使用什么 只是你写的另一个脚本 我正在寻求有关替代方法的建议 以及为什么
  • 观察 Linux 内核中的变量(内存地址)变化,并在变化时打印堆栈跟踪?

    我想以某种方式 监视 Linux 内核 确切地说是内核模块 驱动程序 中的变量 或者内存地址 并找出改变它的原因 基本上 当变量改变时打印出堆栈跟踪 例如 在内核模块中testjiffy hr c列于末尾这个答案 https stackov
  • 如何访问在单独的 Web 应用程序中实现远程接口的 EJB?

    我正在使用 Netbeans 6 8 和 Glassfish v3 0 我创建了一个 ejb 模块并从数据库创建了实体类 然后创建了具有远程接口的无状态会话 bean 比如说 Remote public interface customer
  • 是否可以在 GHCi 中定义新的 ADT

    在评论 ghci 的新功能时 我希望 ghci 能够声明类型声明并声明新的 ADT 类型 有人告知这确实是可能的 经过搜索我发现这一页 https stackoverflow com questions 3093133 how to pro
  • ASP.NET Core - 从智能手机远程访问

    我尝试通过计算机的 IP 地址配置对 ASP NET Core 应用程序的访问 每当我尝试通过智能手机访问网站时 都会收到错误消息ERR CONNECTION TIMED OUT 我完全按照 Stack Overflow 上许多类似问题 答
  • 了解 NodeJS 和非阻塞 IO

    所以 我最近被注射了 Node 病毒 该病毒在编程世界中传播得非常快 我对它的 非阻塞 IO 方法着迷 并且自己也确实尝试了几个程序 但是 我目前无法理解某些概念 我需要外行人的回答 来自 Java 背景的人 1 多线程和非阻塞IO 让我们
  • 重新分配到函数中

    我的问题是关于realloc 以下代码可以正常工作 没有警告 include
  • Scala 中的神奇偏函数

    我认为这段代码应该不起作用 但它确实有效 在 Scala 2 10 中 scala gt i Int gt i toString match case s if s length 2 gt A two digit number case s
  • JVM 和内存使用 - JRun 服务器未使用完整的 PSPermGen 分配?

    我试图理解为什么 ColdFusion 9 JRun 服务器抛出以下错误 java lang OutOfMemoryError requested 32756 bytes for ChunkPool allocate Out of swap