![](/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.