Under heavy workload conditions cups can reach irrationally high memory consumption very quickly (tens of GBs).
Test case:
1. Set MaxJobs to 40000 in cupsd.conf.
2. sudo apt install cups-pdf
3. Fill the queue with jobs:
while [ 1 ]; lp -d PDF /usr/share/cups/data/default.pdf; done
4. Cancel all jobs
cancel -a PDF
5. Restart cups.
6. Start filling the queue again (as in step 3).
Expected result:
Jobs are processed and memory consumption is proportional to the number of jobs.
Actual result:
After step 5 or at latest step 6 memory consumption starts to increase exponentially - from ~150-200 MB to 8+GB. Without foreseeing this it's very easy to get cups killed by OOM killer.
Under heavy workload conditions cups can reach irrationally high memory consumption very quickly (tens of GBs).
Test case: cups/data/ default. pdf; done
1. Set MaxJobs to 40000 in cupsd.conf.
2. sudo apt install cups-pdf
3. Fill the queue with jobs:
while [ 1 ]; lp -d PDF /usr/share/
4. Cancel all jobs
cancel -a PDF
5. Restart cups.
6. Start filling the queue again (as in step 3).
Expected result:
Jobs are processed and memory consumption is proportional to the number of jobs.
Actual result:
After step 5 or at latest step 6 memory consumption starts to increase exponentially - from ~150-200 MB to 8+GB. Without foreseeing this it's very easy to get cups killed by OOM killer.