如何在64位JVM上运行TeamCity

Luk*_*ett 10 java windows jvm teamcity-7.1

我刚刚发现TeamCity在Windows上运行在32位JVM上,出于某种原因.

我在看到一个大的(不是那么大的)Git仓库并且已经处于JVM的最大堆大小时,看到了内存错误.我对Java或JVM或TomCat一无所知.

如何在现代的64位JVM上运行TeamCity?我觉得它会很痛苦,否则就会失败.

我们是一个很小的团队,如果某些东西没有苹果级别的'它只是有效',那么我们跳过它.

我们可以忍受这个不在CI服务器上的项目,但是知道所涉及的内容并权衡投资会很好.

任何建议表示赞赏

编辑

好吧,马库斯指出了这个片段(我已经读过),但我看不到有任何信息可以解释该怎么做.

使用64位Java运行TeamCity Server TeamCity可以在32位和64位JVM下运行.建议使用32位JVM,除非您需要为TeamCity进程提供超过1.3Gb的内存.

如果您选择使用x64 JVM,请注意当从32位JVM切换到64位JVM时,内存使用率几乎翻倍,因此请确保至少指定两倍于32位JVM的内存,请参阅为TeamCity设置内存设置服务器.

如果将TeamCity作为服务运行并切换到x64位,则还需要使用x64 Tomcat可执行文件,请参阅更多信息.

我错过了什么?

编辑2

啊,好吧,埋在上面这段链接的一些段落是这样的:

"如果您作为Windows服务运行并希望将JRE升级到64位版本,则需要使用适当的JRE替换\ jre"

所以我想我需要将一些文件复制到/ jre文件夹中?

Mar*_*sta 7

我的工作方式(TeamCity 8,Windows server 2008 r2):

  • 在目标计算机上安装64位JRE,现在有两种方法可以执行此操作

  • A - >如果您使用Teamcity捆绑的JRE,请将JRE文件夹([TC Server文件夹]\JRE)替换为新安装的JRE x64中的JRE文件夹 - 您必须关闭TC服务器服务(以及所有Java) .exe*32也可能使用此JRE的服务)

  • 乙- >更改TeamCity的内部属性,使其指向新安装JRE的x64(见TC版本8文档,TC版9可以在这里找到):

    java.home=C\:\\<JRE x64 install folder>\\jre
    java.ext.dirs=C\:\\<JRE x64 install folder>\\jre\\lib\\ext\;C\:\\Windows\\Sun\\Java\\lib\\ext 
    java.library.path=C\:\\<JRE x64 install folder>\\jre\\bin\;C\:\\Windows\\Sun\\Java\\bin\;C\:\\Windows\\system32\;C\:\\Windows\;C\:\\local\\Oracle\\clients\\112_64\\bin\;C\:\\local\\Oracle… 
    
    Run Code Online (Sandbox Code Playgroud)
  • B点的替代方案是更改环境变量JAVA_HOME,它更简单,但它需要在此之后重新启动Windows服务器

  • 如果您现在运行TC Server服务,它应该作为64位Java进程运行(通过任务管理器中的PID chceck):

资源监控 任务管理器


Yae*_*gor 2

更新后的问题中的片段在原始文件中有一个链接,指向TeamCity 在线文档中有关 TeamCity 服务器 Java 更新的说明

基本上,说明根据所使用的 TeamCity 发行版和启动服务器的方式而有所不同。

如果您的目的是增加 TeamCity 服务器的内存,请务必阅读同一文档页面上的相应部分。

还有一点需要注意:最近的 TeamCity 版本在单独的进程中执行 Git fetch,并且在 fetch 过程中与 Git 相关的内存问题可能需要微调相应的选项

  • 自我提示:安装 8.1 后必须回来检查,因为它覆盖了 JRE。需要安装 Java 1.7 64 位,然后将 Program Files/jre7 文件夹复制到空的 TeamCity\jre 文件夹。 (2认同)