Can anyone tell by the images below if this machine is unnaturally throttling memory usage. The memory was upgraded from 32GB-64GB for SSRS report rendering, which is the only sizable process to run.
SSRS went into panic mode.
- There was a log entry here
processing!ReportServer_0-1!a5c!09/19/2019-18:54:28:: w WARN: Processing Scalability -- Memory Shrink Request Received
- After the log entry above SSRS started paging to RSTempFile files as if they were virtual memory. There is no docs on this and as far as I can tell it is all internal and should be cleaned up, however, the files are growing to 40+GB.
According to the documents here, SSRS Memory Configuration, the absence of a WorkingSetMaximum
in the configuration file means SSRS will claim as much memory as needed, however, it doesn't seem to claim it all up front like sql server.
By default, the report server sets WorkingSetMaximum to the amount of available memory on the computer. This value is detected when the service starts.
This setting does not appear in the RSReportServer.config file unless you add it manually. If you want the report server to use less memory, you can modify the RSReportServer.config file and add the element and value. Valid values range from 0 to maximum integer. This value is expressed in kilobytes.
I captured the box in this panic state and cant quite figure it out. SSRS is configured top use all available memory and started getting high pressure memory shrink requests and started paging to the disk cache files, however, the memory used on that box has never surpassed 32% since it was upgraded (see images below). Could there be something else that is artificially throttling the memory? It is a virtualized box, however, I can only look at it from an OS view as I am trouble shooting the disk space buildup issue.
The images below were taken when an ssrs excel renderer was going all out. Shouldn't the memory in use be much higher?
(when ssrs enters this stage, a two hour render is stretched out to 20 hours, the difference being using disk for VM, I guess. * When the render request ends (normally) ssrs cleans up * Once a render session transitions into this paging strategy, the session never transitions back, even when memory settles down. * Other "smaller" requests are processed quite fast and do not contribute to the paging. )
Image 1:
Image 2:
Image 3:
Image 4: