Maintenance

This feature does the following:
1) It requests the Java Virtual Machine to do memory cleanup.
2) It saves user, task and schedule data.
3) Relaunches the Scheduler Engine automatically.  You have the option to relaunch the Administrator at the same time.

You can create and schedule this Maintenance task weekly/monthly to free memory, if you notice that the memory consumption by the Engine is high.  Please create only a single Maintenance task.  Make sure that no other task is scheduled when this task has a scheduled run.  Leave atleast 1 minute idle time before this task runs.  Generally, you may need to run this task only on Windows and Mac OS.  This Maintenance task is also useful if you are running tasks very frequently (every few seconds) and running out of memory.  In this case, you can schedule a Maintenance task more frequently depending on your needs.

On Solaris and Linux, we have run tasks every 10 seconds for 1 month continously without running out of memory or engine shutting down.  Hence, you should not have to use this task on Solaris or Linux. The memory usage during this accelerated reliability testing stabilized at a peak of ~50 MB for the entire 1 month testing period. Normally,the memory usage should cycle up and down between 15-30 MB.
 

About Memory Usage
This program does not handle all the low-level memory allocation and release.  This is done by Java.  Java prevents access to all low-level memory handling routines, making memory safe.  This prevents data and memory corruption within the program or in other running applications.  This prevents serious problems that can occur with C or C++ programs like memory access violations, page faults, illegal operations, system crashes etc..
Java has automatic memory recycling called garbage collection.  Hence, you should see the memory usage cycle up and down between 15-30 MB.  However, Java tends to consume lots of memory and may not release it efficiently on some Windows and Mac OS systems. The default maximum memory allowable is 64 MB.   Sometimes, Java will keep requesting more memory from the operating system and may shut down automatically when this value is exceeded.  This is due to incomplete garbage collection by the Java machine on certain operating systems.