Solution for JQM crash caused by pdls on a loaded server

2 Technical Update
HP Output Server 3.4.1
HP-UX specific Case
ulimit -a
Example output for ulimit -a command on Solaris:
$ ulimit -a
time (seconds) - unlimited
file (blocks) - unlimited
data (kbytes) - 96000
stack (kbytes) - 8192
coredump (blocks) - unlimited
nofiles (descriptors) - 256
vmemory (kbytes) - unlimited
In the above example, the data segment size is 96MB. So, if the pdls
operation on a heavily loaded JQM is executed and if the JQM process tries to
allocate memory more than the specified data segment stack size, the server
process will go to unknown state leading to failure of jobs and may dump core
Please check the help information of ulimit command information on each
operating system to change the data segment stack size.
Use indexed attributes while making pdls request
The JQM process buffers all data for the request and sends to the output when
you make a pdls request on JQM. It is suggested to avoid making pdls
request which could potentially return huge results.
For example: pdls -c job -a all jqm:
or
pdls -c job -a all -x"-job-status retained" jqm:
HP-UX specific Case
HP-UX uses different ARENA's for allocating memory for each thread. Due to
this reason, for every pdls request there could potentially be an increase in
the JQM memory usage if the request is served by different thread each time.
However, the increase would be limited to the number of threads used by the
JQM server process (Ex: 10 worker threads), after which JQM memory should
not increase or at least should not be as much as it did for previous requests.
This could be the reason for the crash only after 10 pdls and not during the
first one itself for the same number of jobs in it’s database.