Skip to main content
Inspiring
August 17, 2014
Answered

CF11 VFS error: The Global Memory Limit 1000 MB for In-Memory Virtual FileSystem exceeded .

  • August 17, 2014
  • 4 replies
  • 6424 views

Greetings,

I have a fresh install of CF11 standard on Windows 8 server 64x

16GB of ram

JVM settings:

-server -Xmn1024m -Xss1024k -XX:PermSize=256m -XX:MaxPermSize=2048m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Duser.language=en -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random

Min Heap: 2048mb, Max Heap 6144mb

VFS settings:

Global memory limit for VFS: 1000mb

Memory Limit per Application for VFS: 400mb


Currently CF is using 1.7GB of ram


I have a 6 applications on this server. 1 of which makes use of the VFS.

The others are simple cfm applications that have NOTHING to do with the VFS system.


I have a scheduled task that calls simple cfm pages to update tables in our database. When these tasks run, i get a global error email (ones i have setup if a cf error happens) and the gist of the error is

Browser

CFSCHEDULE

DateTime

{ts '2014-08-16 15:07:00'}

Diagnostics

The Global Memory Limit 1000 MB for In-Memory Virtual FileSystem exceeded . <br>Increase the VFS memory limit in ColdFusion Administrator. <br>The error occurred on line 17.

GeneratedContent

[empty string]

HTTPReferer

[empty string]

Mailto

[empty string]

Message

The Global Memory Limit 1000 MB for In-Memory Virtual FileSystem exceeded .

QueryString

[empty string]

RemoteAddress

xxx.xxx.xxx.xxx

I have a utility i can run to view all the files in the VFS. and there is currently a total of 8 cfm files there that make up 4064KB of space within the VFS.

The 1 application that actually uses the VFS has several functions. One of which basically writes out CFM files and then includes the cfm as a content variable and returns the variable.

Under CF9 we were also deleting the ram drive CFM files after including them. But under CF11 this fails with an error saying the modified date could not be found. I have since removed the delete file part and the system works but we get this out of memory error with the VFS.

Can someone shed some light on this for me?

It makes no since.

Thanks






This topic has been closed for replies.
Correct answer chewymole

I am sorry to say to anyone else who my find this issue, i could not resolve it.

Thank you to BK for all your great suggestions and help.

We just switched the entire system over to hard drive. This will end up hurting us in the end but at this point we dont have an option, our system has been down since the day we upgraded it to CF11. We did a lot of load testing prior to the migration and from our testing it worked. But there were a lot of issues with IIS connectors and we also had new memory installed. There has been a lot going on and it is hard to track down the exact cause.

None the less, the error should still be reported as a bug. It misrepresents what is actually the issue and it will lead someone else in the future down a ghost rabbit hole that does not exist.

Thanks

Tim

4 replies

Inspiring
June 9, 2017

We are seeing the same thing! The VFS seems to fill up so quickly, but without actually being used! And setting it to a lower setting seems to work better.

You also mentioned compiling and including CFML. Did you find this way slower on CF11 vs CF9? We're seeing a huge performance hit and slow down in compile times. Were you ever able to move to CF11? Kinda wish we were back on CF9 now...

Any pointers appreciated! Thanks in advance.

Brook

Inspiring
January 27, 2015

We see the same thing sometimes on CF11 update 3 on Linux. Stack traces point at either CreateObject() or "new Query()" but all the files involved are on normal disks, no RAM drive involved.

I think CF is leaking somewhere and filling up some internal invisible RAM disk. Like you, getVFSMetaData('ram') indicates lots of space, and our per-application limits is 20meg, and doesn't appear to have been involved.

chewymoleAuthorCorrect answer
Inspiring
August 28, 2014

I am sorry to say to anyone else who my find this issue, i could not resolve it.

Thank you to BK for all your great suggestions and help.

We just switched the entire system over to hard drive. This will end up hurting us in the end but at this point we dont have an option, our system has been down since the day we upgraded it to CF11. We did a lot of load testing prior to the migration and from our testing it worked. But there were a lot of issues with IIS connectors and we also had new memory installed. There has been a lot going on and it is hard to track down the exact cause.

None the less, the error should still be reported as a bug. It misrepresents what is actually the issue and it will lead someone else in the future down a ghost rabbit hole that does not exist.

Thanks

Tim

Anit_Kumar
Community Manager
Community Manager
August 29, 2014

Hi Tim,

Can you share your current settings in jvm.config?

Regards,

Anit Kumar

chewymoleAuthor
Inspiring
August 30, 2014

min heap: 6144, max heap: 6144

jvm config:

-server -Xss1024k -XX:MaxPermSize=512m -XX:+UseParallelGC -Xbatch -Dcoldfusion.home={application.home} -Duser.language=en -Dcoldfusion.rootDir={application.home} -Dcoldfusion.libPath={application.home}/lib -Dorg.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER=true -Dcoldfusion.jsafe.defaultalgo=FIPS186Random -javaagent:C:/FusionReactor/instance/cfusion.CF11.1.1/fusionreactor.jar=name=cfusion.CF11.1.1,address=8088

Windows 2012 R2 Standard

16GB ram

VFS global limit is now 1024MB

Per app limit 1024MB

Tim

BKBK
Community Expert
Community Expert
August 17, 2014

-Xmn1024m -Xss1024k -XX:PermSize=256m -XX:MaxPermSize=2048m

Min Heap: 2048mb, Max Heap 6144mb

Why muck about? What about 3 simple settings such as

-Xmx2048m -Xms1024k -XX:MaxPermSize=256m

chewymoleAuthor
Inspiring
August 17, 2014

BKBK,

so i should update the server JVM settings to what you are suggesting?

BKBK
Community Expert
Community Expert
August 17, 2014

Yes, the JVM settings in the Coldfusion Administrator. Then restart Coldfusion. Test and see what happens.