ERROR_COMMITMENT_LIMIT 1455 (0x5AF) The paging file is too small for this operation to complete

633 views
Skip to first unread message

Umapathy T

unread,
Mar 16, 2016, 5:35:29 AM3/16/16
to Chromium-dev
We are using Chromium Embedded Framework (CEF) for our native application. For some cases we may need heap memory in V8 JS layer. So I tried following to see how far I can create objects.

Launched CefClient app with  --js-flags="--max-old-space-size=10000" command line option and executed below script

(function () {
  function tree (n, m) {
    if (n > 0) {
      var a = new Array(m);
      for (var i = 0; i < m; i++) a[i] = tree(n - 1, m);
      return a;
    }
  } 

  var trees = [];
  while (true) trees.push(tree(15, 2));
})();

My assumption was that this script should be able to create object until we reach  10 GB limit. But It fails in V8 while committing memory in VirtualAlloc (in file platform-win32.cc).  GetLastError returns "ERROR_COMMITMENT_LIMIT 1455 (0x5AF) The paging file is too small for this operation to complete."

bool VirtualMemory::CommitRegion(void* base, size_t size, bool is_executable) {
  int prot = is_executable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE;
  if (NULL == VirtualAlloc(base, size, MEM_COMMIT, prot)) {
    return false;
  }
  return true;
}
Anybody knows whats going wrong here?

Torne (Richard Coles)

unread,
Mar 16, 2016, 7:30:18 AM3/16/16
to tuma...@gmail.com, Chromium-dev
This means the system you're running it on doesn't have enough RAM+swap. Committing the region means ensuring it's actually backed by something, and so if you try to commit 10GB of memory you have to actually have 10GB of RAM+swap that isn't currently being used.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Umapathy T

unread,
Mar 17, 2016, 12:27:45 AM3/17/16
to Chromium-dev, tuma...@gmail.com
Thanks for replay. 

I have 16 GB RAM, 90 GB free space in HDD and running in Windows 7. And VM is set to "Automatically manage page file size for all drives". How to check and increase swap size?

Thanks in advance.

noqlm...@gmail.com

unread,
Mar 17, 2016, 2:07:59 AM3/17/16
to tuma...@gmail.com, Chromium-dev
Sorry if this is wrong - but are you using 32bit version of CEF/Chromium? Just a thought. 

Sent from my iPhone
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Umapathy T

unread,
Mar 17, 2016, 9:56:52 AM3/17/16
to Chromium-dev, tuma...@gmail.com
I am using 64bit mode CEF. Is there any other system parameter that can limit the V8's memory? 

Bruce

unread,
Mar 17, 2016, 4:03:46 PM3/17/16
to Chromium-dev, tuma...@gmail.com
You could try running similar code outside of CEF to see if it behaves differently. You could also use sysinternals' rammap to examine the process and see what the commit load is.
Reply all
Reply to author
Forward
0 new messages