[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Coldfusion 8 Memory Issues Causing 500 Error

Posted on 2010-03-30
12
Medium Priority
?
668 Views
Last Modified: 2013-12-24
Hello Experts,

Ok, so I've been having issues uploading large files (1GIG +) using Coldfusion 8.  So after several google searches and experimenting with the Memory Setting in the "Settings" page, I ran into an issue.

Basically, I set the three memory settings in the coldfusion admin settings page to: 4096MB.  (my server has a total memory of 4Gig)

Because of this change, I am now getting the following error on the Coldfusion Admin page, everytime I launch it to revert the change.

500
ROOT CAUSE:
coldfusion.util.MemorySemaphore$MemoryUnavailableException: Memory required (141 bytes) exceeds the maximum allowed memory.

Is there a config file I can modify to revert the setting back to their default values?

Thanks!
Anthony
0
Comment
Question by:aescribens
  • 7
  • 4
12 Comments
 
LVL 19

Expert Comment

by:erikTsomik
ID: 29128883
well you can try changing the heap size in CF Admin. But i do not know what other implications this can lead
0
 
LVL 53

Expert Comment

by:_agx_
ID: 29128978
> Is there a config file I can modify to revert the setting back to their default values?

Yes, the memory settings are usually stored in the jvm.config file under java.args.  It's location depends on your configuration.  Example, on a developer version it's C:\ColdFusion8\runtime\bin\jvm.config

Even though your current settings aren't working, always make a back-up of the jvm.config first, because if you mess up other settings it can prevent the server from booting entirely.
0
 
LVL 53

Expert Comment

by:_agx_
ID: 29129861
> well you can try changing the heap size in CF Admin

@Erik, they said they can't access the CF Admin due to the new settings.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 1

Author Comment

by:aescribens
ID: 29137916
@agx,

I just accessed the jvm.config file and can't find the parameters to modify the memory allocation settings.

This is what I see in that file:

#
# VM configuration
#
# Where to find JVM, if {java.home}/jre exists then that JVM is used
# if not then it must be the path to the JRE itself
java.home=C:/ColdFusion8/runtime/jre
#
# If no java.home is specified a VM is located by looking in these places in this
# order:
#
#  1) bin directory for java.dll (windows) or lib/<ARCH>/libjava.so (unix)
#  2) ../jre
#  3) registry (windows only)
#  4) JAVA_HOME env var plus jre (ie $JAVA_HOME/jre)
#

# Arguments to VM
java.args=-server -Xmx512m -Dsun.io.useCanonCaches=false -XX:MaxPermSize=192m -XX:+UseParallelGC -Xbatch -Dcoldfusion.rootDir={application.home}/../ -Djava.security.policy={application.home}/../lib/coldfusion.policy -Djava.security.auth.policy={application.home}/../lib/neo_jaas.policy -Dcoldfusion.classPath={application.home}/../lib/updates,{application.home}/../lib,{application.home}/../gateway/lib/,{application.home}/../wwwroot/WEB-INF/cfform/jars -Dcoldfusion.libPath={application.home}/../lib

#
# commas will be converted to platform specific separator and the result will be passed
# as -Djava.ext.dirs= to the VM
java.ext.dirs={jre.home}/lib/ext

#
# where to find shared libraries
java.library.path={application.home}/../lib,{application.home}/../jintegra/bin,{application.home}/../jintegra/bin/international
system.path.first=false

#
# set the current working directory - useful for Windows to control
# the default search path used when loading DLLs since it comes
# before system directory, windows directory and PATH
java.user.dir={application.home}/../../lib

# JVM classpath
java.class.path={application.home}/servers/lib,{application.home}/../lib/macromedia_drivers.jar,{application.home}/lib/cfmx_mbean.jar,{application.home}/lib

–Dcoldfusion.fckupload=true

0
 
LVL 53

Expert Comment

by:_agx_
ID: 29139145
> # Arguments to VM
> java.args=-server -Xmx512m

IIRC, those are the main memory settings configured from the CF admin.  But it doesn't look like it's been changed. At least not to 4G.  The file location I mentioned was just for reference ie for the developer version/built in web server.  What's your actual configuration (web server, etc..)?

0
 
LVL 1

Author Comment

by:aescribens
ID: 29143147
So to be clear, the three settings I am referring to are the following:

- Maximum Size Of Post Data
- Request Throttle Threshold
- Request Throttle Memory

They were all set to 4Gigs (4096MB to be exact).

I did a search on "jvm.config" and only found 1 file in the following directory: C:\ColdFusion8\runtime\bin\jvm.config
0
 
LVL 53

Accepted Solution

by:
_agx_ earned 2000 total points
ID: 29144458
Oh, that's different!  Those settings should be stored in C:\ColdFusion8\lib\neo-runtime.xml.  CF _should_ make an auto back-up of the file (same directory) before applying the changes. Look for a file named  neo-runtime.bak.
0
 
LVL 53

Expert Comment

by:_agx_
ID: 29144840
> Look for a file named  neo-runtime.bak.

   You can either edit the existing neo-runtime.xml file or replace it with the backup file.  As mentioned before,
   these are key configuration files. So always make backups first.
0
 
LVL 1

Author Comment

by:aescribens
ID: 29145084
Yes!  I found the neo-runtime.xml and neo-runtime.bak files... Do I simply edit the neo-runtime.xml file, save it and it should work?
0
 
LVL 1

Author Comment

by:aescribens
ID: 29145322
It worked!!!!  I had to restart the CF App Service... But I'm back up!  Thank You!   :)
0
 
LVL 53

Expert Comment

by:_agx_
ID: 29145330
It's probably simpler to just rename the backup file ie  neo-runtime.bak => neo-runtime.xml ... than to edit manually.  But either should work.  You'll may have to shutdown CF though.
0
 
LVL 53

Expert Comment

by:_agx_
ID: 29145365
Sorry, our posts collided.  Great! Glad to here everything's back to normal now.
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

One of the typical problems I have experienced is when you have to move a web server from one hosting site to another. You normally prepare all on the new host, transfer the site, change DNS and cross your fingers hoping all will be ok on new server…
Sometimes databases have MILLIONS of records and we need a way to quickly query that table to return the results me need. Sure you could use CFQUERY but it takes too long when there are millions of records. That is why SOLR was invented. Please …
Is your organization moving toward a cloud and mobile-first environment? In this transition, your IT department will encounter many challenges, such as navigating how to: Deploy new applications and services to a growing team Accommodate employee…
Hi, this video explains a free download that you can incorporate into your Access databases, or use stand-alone for contact management. Contacts -- Names, Addresses, Phone Numbers, eMail Addresses, Websites, Lists, Projects, Notes, Attachments…
Suggested Courses
Course of the Month11 days, 7 hours left to enroll

640 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question