You could create a separate subsystem, with a fixed memory pool (so you can allocate just so much memory), a single-threaded job queue, and let no other jobs run in that subsystem. Then play games with time slices and run priorities to hamper the job as much as possible!
Yes, it 'wastes' that pool of memory (can't be shared), but it might be the only way to throttle the job to less than X%. Of course, if nothing else is running, even a time slice of "1" will end, the system will check for other work to do and pop back to that job anyway, and you're back to square one.
Is the person who complains about the job 'hogging' the system the same person who gets the report? Maybe you can get the job's owner involved in the political process and let him know that "Mr. Client" is limiting the job just so it doesn't 'take over' the system. Maybe this user can be taught, and then train Mr. Client!
This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact