【问题标题】:Known Tomcat 6.0 and JDK 1.7.0_02 issues?已知的 Tomcat 6.0 和 JDK 1.7.0_02 问题?
【发布时间】:2012-02-25 04:15:04
【问题描述】:

是否存在已知的Tomcat 6.0JDK 1.7.0_02 问题?

如果答案是否定的,我知道这是一个很难回答的问题。但我需要问一下,以防万一答案是肯定的。此外,我将接受以下问题的任何解决方案作为答案。请分享您遇到的任何问题,如果需要,我会更新此问题。

问题:

自从从 JDK 1.7.0 升级到 1.7.0_02 后我遇到了一些问题(我这样做是为了避免 Eclipse 的帮助菜单由于 Java 1.7.0 错误而崩溃。) :

  • Tomcat 服务器需要更长的时间才能启动,我需要 120 秒的超时时间来处理它。
  • FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 错误,第二天就消失了,第三天又出现了,除了重新加载 Eclipse 没有任何变化。
  • Tomcat 服务器需要更长的时间才能关闭。我需要 60 秒的超时来处理它,默认是 15 秒。
  • Eclipse 本身在构建工作区和验证手头的项目时似乎停止了(形象地说)。 Eclipse 中的所有内容似乎都需要更长的时间,即使打开未打开的文件也是如此。

一切似乎都很可疑。

附: JDK 1.7.0_02也称为1.7.0u2Java SE 7u2Java SE 7 Update 2等。

版本:

  • JDK = Oracle,64 位,从 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载。下载并安装的确切文件是 jdk-7u2-windows-x64.exe
  • Tomcat = Tomcat 6.0.33,从 Eclipse 单独下载
  • Eclipse = Eclipse Java EE IDE for Web Developers.Version: Indigo ReleaseEclipse PlatformVersion: 3.7.0.v20110530-9gF7UHNFFt4cwE-pkZDJ7oz-mj4OSEIlu9SEv0fBuild id: I20110613-1736
  • 64 位 Windows 7 机器,8GB RAM,Intel Core i7-2600 CPU @ 3.4GHz(4 核)
  • Eclipse、Tomcat、Apache HTTP Server 都在同一台(开发)计算机上。

编辑:在上面添加了系统规格。

【问题讨论】:

  • 哪个 JDK - Oracle/SUN 或 OpebJDK?
  • @home,Orcale。我将编辑我的问题并将其包含在内。
  • 您是从单独安装还是从 Eclipse 内部使用 Tomcat?您使用的是哪个版本的 Tomcat(确切地说)和 Eclipse?应该是32位的吧?
  • 我使用的是Tomcat 6.0.33,分别从Eclipse下载,还有Eclipse Java EE IDE for Web Developers.Version: Indigo ReleaseEclipse PlatformVersion: 3.7.0.v20110530-9gF7UHNFFt4cwE-pkZDJ7oz-mj4OSEIlu9SEv0fBuild id: I20110613-1736。 64 位机器。如何仔细检查我的 java 版本也是 64 位?我不知道 32 位版本是否会运行,但如果运行可能会运行得更慢?我也会将此添加到问题中。
  • @MatthewDoucette 抱歉,我指的是 Tomcat 用户邮件列表:tomcat.apache.org/lists.html#tomcat-users -- 你需要订阅才能加入,但你可以在那里发布你的问题,它的目标是整个 Tomcat 用户社区。因此,如果有错误,那里的人很可能会遇到它并可以帮助您确认或否认。

标签: java eclipse tomcat6 java-7


【解决方案1】:

使用默认选项运行 64 位 Java 时(引用压缩默认关闭),它需要的内存量几乎是 32 位的两倍。

对于 Eclipse,打开 eclipse.ini 文件并将 -Xmx 选项加倍/增加很多。

当然,运行某些 JVM 时,你的物理内存可能不够用。

因此,我建议您使用 64 位 JVM 测试 -XX:+UseCompressedOops HotSpot option 并监控内存使用情况,这要归功于 jconsole。你也可以阅读details about that recent option。那个选项

对于 Tomcat,创建文件 bin/setenv.bat,内容为:

set JAVA_OPTS="-Xmx1024M -XX:+UseCompressedOops" 

【讨论】:

  • 感谢您的意见。四件事:1)现在(以及当我发布这个问题时)我在eclipse.ini 中运行-Xmx2048m,我认为这是默认设置大小的四倍。 2) 我的 Tomcat 文件夹中没有bin/setenv.bat,也没有任何看起来接近它的东西。也许再向我解释一下。 3) 我有 8 GB 内存。 4) 我在哪里设置-XX:+UseCompressedOops?再次非常感谢!
  • 在 Java SE 6u23 及更高版本中默认支持并启用压缩 oops。
【解决方案2】:

好吧,也许这一切都与 update 中发布的新 JVM 有关。据称它提高了性能,但是......好吧,谁知道呢。 Tomcat6 上的 JDT 与 JDK 1.7 交互,因此可能会发生意想不到的事情。 除此之外,还有few things 可以查看。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2010-10-06
    • 2011-08-10
    • 2012-01-16
    • 2012-06-11
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多