I have an iPrint server that serves our entire campus.

Itís running NW6SP5 w NDPS/iPrint 3.0.5 w/1Gb of RAM.

Eventually, iPrint stops processing "larger" jobs (such as PDFs), but will
process "smaller" jobs (such as TXT files). The issue is resolved by
rebooting the server.

I have not had the opportunity to get a good look at the memory while this
issue is occurring, but...

I can confirm that the print job is loaded into server memory sometime
during processing by sending a 10MB print job and seeing the server's
available memory go down 10MB (for a second or two).

What happens when the print job is larger than the available memory at the
time printing/processing is attempted????

I believe that, in this situation, the server will consume the available
memory, then error out because it can't load the remainder into memory.
Since the print job was never fully processed, I don't think that the
memory is returned ...and the server then has "x" mb less of available
memory for future use.

A hypothetical example would be a server that has 500MB of RAM. 400MB is
currently in use (by other print jobs), leaving 100MB available. Someone
then sends a 120MB print job. The server uses the 100MB of RAM, errors
the print job, but doesn't return the RAM. The other print jobs finish
and the server now has 400MB of available memory. This reduced amount of
available memory starts a "cycle of errors" that further reduces the
amount available. Eventually, in a short time frame, the server only has
something like 20MB of available memory. This causes the symptom of only
small jobs printing.


1) Do you agree, or disagree with my thought on what happens when the
print jobs are bigger than the available memory? Any thoughts?

2) How can you calculate the RAM requirements for iPrint?