When I pull a large report from my Reporter server, it runs out of memory.
A 30 day report works fine, but pulling a report of a longer timespan triggers an out-of-memory alert in the journals, and shuts down all log sources.
In the journal files I see this message:
""Memory needed is unavailable for malloc (memory needed: 3224309760, physical memory available: 10734972928, virtual memory available: 1057057587, status: 33""
NOTE: For a detailed analysis on how Reporter monitors memory for the database , see KB3655
The above journal entry is not worded well. Here is what has happened: The user asked for a report to run, which triggered a request for memory to the Operating system. This request has to be for free memory, which is obviously going to be on top of what is already being consumed by the Reporter service ( the database plus it's own program) , and other applications running on this server's operating system. For the report to be allowed to run, Reporter needs to see enough memory on both the Phyiscal and the virtual memory. In this case, physical memory was insufficient, whereas virtual memory was more than enough. However, because one of values tested did not have the right memory capacity, Reporter did not allow the report to run.
In above journal message we see a request for 3224309760 bytes of memory to run the report. The request is less than the physcial memory available, but, because it is larger than remaining virtual memory, the request is denied. The alerts show that the virtual memory capacity is way beyond physical memory. In fact, looking at the full journal, located at the end of this article, the alerts initially show 19.53 GB virtual memory capacity and the final alert shows 22.58 GB – We believe that the operating system, extended the page file during that time.
Summary: This above described memory algorithm was done to prevent false positives when it asking for Memory. Reporter makes sure it has enough memory to run the operation if it had to use either Physical or Virtual memory on it's own, before it proceeeds. If either one of them reports back a value that is insufficient, we will not run that operation, and in some cases shutdown the database to protect ourselves. This is because, on some Some Server Operating Systems ( 2008 and LINUX) , physical memory looks full when it is merely using the memory to cach files, and can easliy be relased for applications.
The above analysis was conducted on this excerpt of the a customer's bcreporter.out file : The key message of which was placed in the Problem Description to make it a searchable document.
Blue Coat Reporter (64-bit), Release Version 126.96.36.199, Build 43962, Windows Server 2003
Rate this Page
Please take a moment to complete this form to help us better serve you.