Details
-
Feature
-
Status: Released (View Workflow)
-
Minor
-
Resolution: Fixed
-
1.9.12, 1.10.8, 1.11.4
-
None
-
None
Description
Current Situation
- Users can face out-of-memory errors raised by the Java Virtual Machine. This can be due to the fact that a JVM 1.8 will by default assign a share of the available memory to each job. Frequently this share is too high and should be adjusted by use of Java options. Find details from the How to manage the Java heap space article.
- Java options are applied to:
- All jobs with JobScheduler Master using Java/JavaScript as programming/script language.
- All jobs with JobScheduler Master that use pre- or post-processing monitors in Java or JavaScript.
- The JobScheduler Master main process.
- Command line call to the JobScheduler start script bin/jobscheduler.sh status jobs
- All jobs with JobScheduler Agent that use the same languages as 2.1 and 2.2
- There are three levels at which Java options are available:
- Master
- Globally for the Master instance and for all jobs with the the following entry in ./config/factory.ini:
[java] options =
- Globally for the Master instance and for all jobs with the the following entry in ./config/factory.ini:
- Master
-
-
- Globally for all jobs with the command line option -job-java-options.
- Example: The parameter -job-java-options=-Xmx64m can be set as an environment variable SCHEDULER_START_PARAMS with the ./bin/jobscheduler_environment_variables.sh script.
- This parameter is applied to the jobs executed on JobScheduler Master, it is not forwarded to jobs executed with Agents.
SCHEDULER_START_PARAMS="$SCHEDULER_PARAMS \"-pid-file=$SCHEDULER_PID\" \"-job-java-options=-Xmx64m\""
- Globally for all jobs with the command line option -job-java-options.
-
-
-
- On a per job basis with the <job java_options="..."/> attribute.
- Agent
- Globally for the Agent instance with the JAVA_OPTIONS environment variable that can be set with the Agent instance start script.
- Globally for all jobs with the command line option -job-java-options, see 3.2 and
JS-1751. - Settings on a per job basis are forwarded by the Master to the Agent, see 3.3.
-
Desired Behavior
- Desired behavior for above points 2.1, 2.2:
- Java settings that can be specified from the -job-java-options command line option should in addition be configurable as job_options setting with the [java] section from ./config/factory.ini.
- Desired behavior for above point 2.3:
- The behavior remains unchanged, i.e. the options setting with the [java] section from ./config/factory.iniĀ is applied to the Master instance.
- Desired behavior for above point 2.4:
- Java settings should be considered for command line use: for jobscheduler.sh --send-cmd Java options should be applied. This functionality will be provided with
JS-1750and is out-of-scope of this issue.
- Java settings should be considered for command line use: for jobscheduler.sh --send-cmd Java options should be applied. This functionality will be provided with
- Desired behavior for above point 2.5:
- Java settings should be considered for jobs with Agents. This functionality will be provided with
JS-1751and is out-of-scope of this issue.
- Java settings should be considered for jobs with Agents. This functionality will be provided with
Workaround
- For Java options that should be applied to jobs with the Master use the solution explained with 3.2
Attachments
Issue Links
- relates to
-
JS-1898 The setting for Java job_options from the sos.ini configuration file should be considered
- Dismissed