0

我在 unix 环境中运行我的 java 代码时出现内存不足 java heap 异常。

我有调用java类的bash shell脚本,在运行脚本后几秒钟内我得到了错误。

任何建议都会有所帮助。

下面是我的shell脚本。

home_dir=/opt/IBM/IEEP/MigrationBatch
java_home=/opt/IBM/WAS/java
lib_path=$home_dir/lib
job_path=$home_dir/bin/jobs
config_path=$home_dir/bin/config

batch_root_path=$home_dir
root_path=$batch_root_path/migration

mkdir -p $root_path
mkdir -p $root_path/working

log_date=$(date +%m%d%Y_%H%M%S)
run_date=$(date +%Y%m%d_%H%M%S)
job_name="MigrationBatch"

script_log_path=$root_path/script_logs
logfile=$script_log_path/script_log_migration_txt_$log_date.txt
mkdir -p $script_log_path
echo "Script Log Files available at $logfile"
exec>>$logfile
echo "Starting Java process for MigrationBatch Job...."

## STEP 1 : Run the Java Job
export JAR_HOME=$lib_path
export JOB_HOME=$job_path
export CONFIG_HOME=$config_path

JAR_CLASSPATH=:$lib_path/activation-1.1.jar:
echo $JAR_CLASSPATH

$java_home/bin/java -Djob_name=$job_name - Drun_timestamp=$run_date -cp $JAR_CLASSPATH:$job_path:$config_path org.springframework.batch.core.launch.support.CommandLineJobRunner migrationJob.xml  migrationJob -next

script_output="$(echo $?)"
4

1 回答 1

2

这不是你的 shell 内存不足,这是你可以尝试的 java 命令行执行:

 java -Xmx1024m -jar jarfie
 java -Xms512m -Xmx2g -jar somejar
 $java_home/bin/java -Xms512m -Xmx2g -Djob_name=$job_name -Drun_timestamp=$run_date -cp $JAR_CLASSPATH:$job_path:$config_path org.springframework.batch.core.launch.support.CommandLineJobRunner migrationJob.xml migrationJob -next

如果它仍然给您带来内存问题,您可能需要增加更多

于 2013-03-04T14:48:16.823 回答