我正在使用Tomcat 7.0.28。我已經部署了一個戰爭文件。 在這個戰爭文件中有一個類似於我們可以上傳文件的結構的服務器。tomcat中的Java堆空間錯誤
現在,當我訪問該網頁正在工作,但是當我嘗試上傳大文件時,它顯示JAVA堆空間的錯誤。
我該如何解決它?
我正在使用Tomcat 7.0.28。我已經部署了一個戰爭文件。 在這個戰爭文件中有一個類似於我們可以上傳文件的結構的服務器。tomcat中的Java堆空間錯誤
現在,當我訪問該網頁正在工作,但是當我嘗試上傳大文件時,它顯示JAVA堆空間的錯誤。
我該如何解決它?
您可能試圖將整個文件放在內存中。你的第一槍應該是改變Tomcat JVM啓動選項中的-Xmx參數,以增加它的記憶。除此之外,你必須一次讀取一塊文件,並將其寫入硬盤,以釋放內存。
我是新來的JAVA以及tomcat。如何實現上述.. – Vijay 2012-07-12 07:12:50
@Vijay這裏有一個鏈接[設置Xmx參數](http://serverfault.com/questions/139435/where-to-set-java-heap-options-eg-xmx-for -Tomcat -6-下的ubuntu-9月4日)。至於讀取文件塊,你如何*當前*讀取文件? – Miquel 2012-07-12 07:17:18
實際上,我已經設置了BIM服務器,並且他們提供了用於部署的WAR文件。所以不知道他們是如何讀取文件的。但我確實使用-Xmx屬性更改了堆大小,但仍然無法正常工作。 – Vijay 2012-07-12 08:31:53
您可以使用下面的命令在tomcat中增加HeapSize
。
Linux:打開Catalina.sh將文件置於「bin」目錄中。你必須將更改應用於此行
CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m "
的Windows:
打開 「catalina.bat中」 文件放在 「bin」 目錄
set CATALINA_OPTS=-server -Xms256m -Xmx1024m
重新啓動上述更改後的tomcat。
我做了同樣的事情,但它仍然沒有工作... – Vijay 2012-07-13 05:30:37
在啓動時設置更高的堆大小可能會解決您的問題。 – fdomig 2012-07-12 07:00:00
關於如何在tomcat中設置java堆空間的衆多答案之一:http://serverfault.com/questions/139435/where-to-set-java-heap-options-eg-xmx-for-tomcat-6 -under-ubuntu-9-04 – 2012-07-12 07:01:18