我在Eclipse中創建了一個Java應用程序,當我將-Xmx1024m的VM參數增加時運行良好。當我嘗試使用以下路徑通過命令promt運行應用程序時:使用Python爲我的Java應用程序增加虛擬內存的問題
c:\ python27 \ python c:\ jars2run \ run.py c:\ jars2run \ myown \ ClassTree.jar LiveSimulator2/Live_PairsEngine3 java -Xmx1024m
我收到以下錯誤信息:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.nio.CharBuffer.wrap(Unknown Source)
at java.nio.CharBuffer.wrap(Unknown Source)
at java.lang.StringCoding$StringDecoder.dec… Source)
at java.lang.StringCoding.decode(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at com.mysql.jdbc.ResultSet.getStringIntern…
at com.mysql.jdbc.ResultSet.getString(Resul…
at com.mysql.jdbc.ResultSet.getString(Resul…
at LiveSimulator2.Timeseries2.<init>(Timese…
at LiveSimulator2.Live_PairsEngine3.main(Li…
我發現我需要添加在Python腳本中的堆內存要求,但不能找出其中的素文字我已經把公司的Java -Xmx1024m'或者什麼是需要的,因此java應用程序由於內存不足而仍然崩潰。
請參閱下面的python腳本,目前python腳本只是複製外部jar需要運行我的java應用程序。
import sys
import os
classfile=sys.argv[2];
jar=sys.argv[1];
cp='%s' % jar
FILES=os.listdir('c:/jars2run/3rdparty');
os.chdir('c:/jars2run/3rdparty');
for i in FILES:
if (i.endswith('jar')):
cp='%s;%s' % (cp, i)
cmd='java -classpath "%s" %s' % (cp, classfile)
print('%s' % cmd)
os.system(cmd)
有人可以讓我知道增加內存需要去哪裏請。
非常感謝您的幫助。
是。問題提出者的解釋:除非您明確寫入代碼,否則命令行參數不會從一個程序轉移到另一個程序。 (但是,環境變量通常會繼續存在 - 但同樣,這取決於您如何對其進行編碼 - 您可以選擇不執行它們。) – 2010-11-05 11:44:31