UNIX 環境で Java コードを実行しているときに、メモリ不足の Java ヒープ例外が発生します。
スクリプトを実行してから数秒以内にJavaクラスを呼び出すbashシェルスクリプトがあり、エラーが発生します。
どんな提案も役に立ちます。
以下は私のシェルスクリプトです。
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 $?)"