SQL HyperBac - High memory usage
pjackman
Posts: 12
We installed the recently released HyperBac Components v5.4.0.27 on Thursday, Aug 4th around 7:30 PM Pacific. Since then we are observing the memory footprint of HyperBacSrv.exe increasing roughly 12 K per minute. Over the last six hours it increased from 470,836 K to 474,976 K. Is anyone else experiencing this issue?
We posted our observations to RedGate support two hours after the install at 9:40 PM Pacific and several times since then and have not received a response.
Patrick Jackman
Vancouver, BC
We posted our observations to RedGate support two hours after the install at 9:40 PM Pacific and several times since then and have not received a response.
Patrick Jackman
Vancouver, BC
Comments
Patrick Jackman
Product Management - HyperBac Technologies
Red Gate Software
Patrick Jackman
In response to my posts regarding High Memory Usage, Jeffery Aven at RedGate suggested that we change two settings in our hyperbac.conf file as follows:
MaxCacheBufferSize=0x800
MaxCompBufferSize=0x1000
This restricts the compression buffers in the service however Jeffery warns that doing so can be detrimental to performance in some cases.
We do a full backup once per day. Differential backups occur every 2 hours and log backups every 15 minutes from from 9 am to 9 pm. Here are some comparisons before and after the .conf update.
Our 5:00 pm differential backup durations were:
8/03 00:19 (19 seconds)
8/04 00:19
8/05 00:16
8/06 00:12
8/07 00:12
8/08 00:21
8/09 00:24
8/10 00:19 (after the .conf update)
8/11 00:20
8/12 00:17
8/13 00:14
The 1st log backup after our nightly processes had the following durations:
8/03 01:06 (1 minutes, 6 seconds)
8/04 01:03
8/05 01:04
8/06 01:03
8/07 01:07
8/08 01:05
8/09 01:03
8/10 01:06 (after the .conf update)
8/11 01:06
8/13 01.06
The resulting log file sizes ranged from 1,048,034 KB to 1,064,157 KB during this period.
The primary difference that we are seeing with memory usage since the .conf change is the starting value. Prior to the change the first full backup would ramp up the memory value to the high 400,000 Ks and begin accumulating at 12 K per minute from there. Since the change it appears that the first full backup resulted in a memory value in the high 100,000 K's and accumulation began from this lower starting value. Seveny four hours later it was at 247,296 K, up 700 K per hour. So we could be back up to the 500,000 K's by the end of August.
However, as Jeffery Aven has pointed out me several times, the Memory attributed to HyperBacSrv and being displayed in Task Manager is virtual memory and it will be released if requested by any other program. So there shouldn't be a problem with any amount of memory claimed by HyperBacSvr, even 1,000,000 K.
If the memory claimed by HyperBacSrv is required by another program we should see HyperBacSrv's displayed allocation in Task Manager knocked back and accumulating at 700 K per hour from that lower point. Eventually the overall system will achieve a dynamic balance. We will always see HyperBacSrv's Memory in Task Manager increasing by 700 K per hour.
I asked Jeffery: "do you think that we've really accomplished anything of technical merit with our .conf change? Would HyperBacSrv's performance be more efficient and reliable under the original settings?"
After reviewing some of our system data he responded: "You are correct in that this should not be an issue with the allocation. Sometimes the value in task manager has a sticker shock to it, but it is really only a constraint if you do not have a large enough page file. The virtual memory is allocated in anticipation of a HyperBac operation or in the case of the initial rise you saw, a reaction to an operation. You should be OK with the new settings. The main bellwether should be system performance overall (backup, restore performance relative to native, query throughput and application responsiveness). If these drop off then changes should be made."
I'll report again to the forum when we appear to reach that dynamic balance.
Patrick Jackman
Vancouver, BC