Would like to explain the some of the factors that
decide how much maximum memory that an application needs.
Here are two examples. One is with cffile upload action
and the other is with cfpdf thumbnail action.
Sometimes, while uploading large files using cffile
with upload action (<CFFILE ACTION= “UPLOAD”) you would have run
into the following error
“500 – Internal server error.
There is a problem with the resource you are looking
for, and it cannot be displayed.”
File upload is dependent on “Maximum size of post data”
value that you can set in ColdFusion Administrator.
However, it can’t exceed the total available free
Say, if 512 MB is the Xmx memory value (jvm.config) and
350 MB is already occupied by the application, even if “Maximum size of post
data” value is set to 200 MB, it can upload files of up to ~150 MB (512 MB- 350
It can’t upload files of size 200 MB.
To fix it, Xmx should be increased which is again
subjected to the available memory in that machine.
Here is other example:-
Say, you are using CFPDF’s Thumbnail Action and the
thumbnails background is not generated properly.
Here the issue would be insufficient memory.
Just to hold the decoded image data,
java application needs large memory (say 1.2 GB depending on the image pixels).
It is because of the format and high pixel nature of
the image that is being converted. Number objects created are equal to the
total number of pixels in that image.
So, high pixel imge would consume more memory.
To fix this, Xmx value in jvm.config should be at least
-> Applications memory Size + 1.2 GB (from the above example) i.e.
a minimum of 1.5 GB and can be more depending on your application.
Changing the value and restarting the server would
/* Style Definitions */
mso-padding-alt:0in 5.4pt 0in 5.4pt;