Tag: j9

IBM J9VM的默认堆大小是多少?

我安装了IBM的J9 VM(build 2.3,J2RE 1.5.0 IBM J9 2.3)。 获得OOM后,堆转储的大小为383MB。 JVM有多少堆? 我问的原因是400MB堆转储似乎对我预期的默认64MB堆有点多,但我没有指定任何-Xm选项。 J9是否使用不同的默认堆大小? 如果是这样,我怎么知道它是什么?

在哪里可以找到适用于Windows的IBM JDK / JRE的特定版本?

我正在尝试使用一个对JDK敏感的Oracle软件与Websphere一起工作,我需要找到一些特定版本的IBM JDK来尝试。 问题在于IBM并没有像Sun / Oracle那样随时提供这些产品,而且我能够获得的所有版本都因某种原因无法正常工作。 具体来说,我需要一个: 适用于Windows的 IBM Java 5 SR9(理想) 适用于Windows的 IBM Java 5 SR2 适用于Windows的 IBM Java 5 SR10 我怎么能直接从IBM获得这些? 我的公司有一份Websphere的支持合同,如果我能告诉他们去哪里,我希望我们的Websphere工程师可以下载它。

下载IBM J9 JDK

我在IBM J9 JDK / JRE上有以下问题。 有没有人知道我可以下载最新的J9 JDK的位置? 我找了它,找不到位置。 IBM J9 JDK和Apache Harmony项目之间的关系是什么? 谢谢。

内存泄漏,没有对象数量或大小增加

在IBM iSeries系统上,我运行了一个Java程序 – 一个带有Web服务器组件的应用程序服务器,所有这些都是内部开发的。 在32位或64位J9 JVM(IBM Technology for Java)上运行时,我有内存泄漏的症状。 请注意,在iSeries经典JVM,多个Sun / Oracle JVM和Linux JVM上运行此软件时不会出现任何问题。 哎呀,我经常在我妻子的入门级笔记本电脑上运行相同的软件几周,而我正在我的网站上工作 – 我可以向你保证,如果它泄漏了内存,就会注意到那件事。 如果我只是让一个普通的系统运行空闲,没有配置应用程序(基本上只是消息传递系统和Web服务器),堆只会继续缓慢增长,导致随着时间的推移分配更多的内存,每个GC周期都没有相当于收集到以前的水平。 对于没有问题的JVM,模式完全相同,除了那些GC扫描总是将堆减少到之前的GC级别。 但是,如果我在稳定后在启动时拉出JVM系统转储,并且在分配的堆显着增长之后进行后续转储,则差异比较表明运行一周后不再可达的对象比启动时更多。 最近的一个,一周后显示6个额外的类加载和一些明确相关的对象。 对所有活体物体的彻底评论都没有显示出任何让我意想不到的东西。 我已经尝试了优化的吞吐量和世代并发的垃圾收集器。 因此,根据作业的堆大小,我们似乎正在泄漏,并且根据堆转储,没有任何泄漏。 没有调用JNI方法(除了作为核心JVM的一部分运行的本机代码),它肯定是正在增长的堆 – 我可以清楚地看到IBM WRKJVMJOB信息以及在我的控制台中使用JMX bean报告日志文件。 到目前为止,我无法使用JVisualVM之类的JMX工具连接到活动JVM,因为尽管在正确配置时创建了侦听套接字,但是连接被拒绝,显然是在协议级别(TCP / IP堆栈显示已接受的连接,但是JVM反弹它)。 我很困惑,不知道下一步该往哪里去。 编辑:只是为了澄清; 这些结果都是使用未经检测的JVM,因为我无法获得对此JVM的JMX访问权限(我们正在与IBM合作)。 编辑2011-11-16 19:27:我能够在1823个GC循环中提取GC活动报告,其中包括Soft / Weak / PhantomReference计数的特定计数; 这些数字并没有出现失控增长的迹象。 然而,小物体的终身空间显着增长(大物体的终身空间是空的)。 它从9M增长到36M。

J2ME上的JDBC支持

目前我正在尝试在Windows Mobile 6.1设备上运行现有的Java应用程序。 Java应用程序是为服务器端开发的,并使用JDBC。 我的问题是Java应用程序使用java.sql.DriverManager,J9运行时或任何CDLC / CDC实现都不支持它。 经过大量的研究后,似乎没有一种标准的方法可以做到这一点。 JSR 169也不支持这个类。 所以,我想知道你们是否有类似的问题,如果你必须提到任何适当的软件堆栈,基本上支持移动设备上的java.sql。*包。 似乎规范不支持这一点,唯一的方法是基本上通过黑客攻击… 提前致谢