![](/img/trans.png)
[英]How to forcefully run a Jar file using 32-bit JVM when both 32-bit and 64-bit JVM are installed?
[英]How to run TeamCity on 64-bit JVM
我刚刚发现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文件夹中?
我的工作方式(TeamCity 8,Windows server 2008 r2):
在目标计算机上安装64位JRE,现在有两种方法可以执行此操作
A - >如果您使用Teamcity捆绑的JRE,请将JRE文件夹([TC Server文件夹] \\ JRE)替换为新安装的JRE x64中的JRE文件夹 - 您必须关闭TC服务器服务(以及所有Java) .exe * 32也可能使用此JRE的服务)
B - >更改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…
B点的替代方案是更改环境变量JAVA_HOME,它更简单,但它需要在此之后重新启动Windows服务器
如果您现在运行TC Server服务,它应该作为64位Java进程运行(通过任务管理器中的PID chceck):
如果服务器没有启动抛出错误,请不要惊慌:
Error: SQL error when doing: Connecting to MSSQL: I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property
下载JTDS - 1.3.1( http://sourceforge.net/projects/jtds/files/jtds/1.3.1/ )并安装它
从[JTDS-1.3.1安装文件夹] / x64 / SSO文件夹中获取ntlmauth.dll文件并替换[TC Server文件夹] \\ bin中的文件
TC服务器现在应该可以正常运行64位Java进程
您现在可以在服务器上增加内存分配(因为这是升级的全部内容),如下所述: https : //confluence.jetbrains.com/display/TCD8/Installing+and+Configuring+the+TeamCity+Server #InstallingandConfiguringtheTeamCityServer-SettingUpMemorysettingsforTeamCityServer
更新后的问题的片段在原始链接中有一个链接,指向TeamCity在线文档中TeamCity服务器的Java更新说明 。
基本上,指令因使用的TeamCity分发和启动服务器的方式而异。
如果您的目的是增加TeamCity服务器的内存,请务必仔细阅读同一文档页面上的相应部分 。
还有一点需要注意:最近的TeamCity版本在一个单独的进程中执行Git fetch,并且在获取期间与Git相关的内存问题可能需要微调相应的选项 。
“所以我想我需要将一些文件复制到/ jre文件夹中?”
不。您安装 64位JRE,并更新相关设置以指向64位安装的JRE。
不要将东西从一个JRE安装复制到另一个。 你会破坏的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.