Standalone backup agent for Microsoft Windows servers and workstations (formerly Veeam Endpoint Backup FREE)
Post Reply
NickG_UK
Lurker
Posts: 2
Liked: never
Joined: Mar 23, 2017 1:54 pm
Full Name: Nick Gilbert
Contact:

Feature Request: Lower RAM usage when no backups running

Post by NickG_UK »

Currently, Veeam Endpoint Backup uses around than 300MB of RAM even when it is idle and not running any backups.

The high RAM usage is primarily due to the fact that it uses a full instance of SQL Server 2012 to access a LocalDB database.

Usually when using LocalDB, the SQL service is started on demand and is shut down when not in use. However in Veeams case, it is kept running 24/7 and according to support this behaviour is by design.

In addition to the sqlservr.exe task using 220MB, two other services run using ~40MB each - Veeam Tray and Veeam Scheduler.

If possible (and I'm not saying it is :)) resource usage when Veeam is not running should be improved by making the following changes:
  1. Stop the SQL Server process when backups aren't running and/or switch to a lightweight DB such as SQLite, SQL Compact, or Firebird etc. SQL Server 2012 seems to be a overkill for a backup application, especially when the LocalDB autostart function is not being used at all.
  2. Use the Windows Task Scheduler API to start the backups (and Veeam Backup Service) only when it needs to run (this is how Macrium Reflect works and it uses zero resources when not backing up).
  3. The tray service seems to use a lot of RAM for what it does - more than my email client and IM chat client combined, but it just seems to be a link to launch the application? Is the tray service needed? No other backup software I'm has a tray service as usually backup software has no realtime function.

NickViz1
Enthusiast
Posts: 41
Liked: 5 times
Joined: Jan 27, 2016 8:50 am
Full Name: Nikolai Vorontsov
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by NickViz1 » 1 person likes this post

some additional info about this issue:
veeam-agent-for-windows-f33/veeam-endpo ... 40712.html

Dima P.
Product Manager
Posts: 12405
Liked: 1151 times
Joined: Feb 04, 2013 2:07 pm
Full Name: Dmitry Popov
Location: Prague
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by Dima P. »

Hi Nick,

Thanks a lot for you feedback. May I ask why you are worried about RAM consumption (300MB looks ok from my point of view. Most of applications utilize even more resource, for instance, my Google Chrome currently uses more that 2Gbs of RAM). Are you trying to protect a computer with low memory?

NickViz1
Enthusiast
Posts: 41
Liked: 5 times
Joined: Jan 27, 2016 8:50 am
Full Name: Nikolai Vorontsov
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by NickViz1 »

Hello Dima,

I'm worried because it's the most consuming permanent process on my PC's backed up with VAW, even svchost.exe takes less. And I simply don't understand why SQL server should be kept in the memory while it's in idle state.

If you have 16GB RAM, I agree, 's no practical difference, but for machines with 4GB (notebooks), that becomes noticeable.

NickG_UK
Lurker
Posts: 2
Liked: never
Joined: Mar 23, 2017 1:54 pm
Full Name: Nick Gilbert
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by NickG_UK »

Dima P. wrote:Hi Nick,
Thanks a lot for you feedback. May I ask why you are worried about RAM consumption (300MB looks ok from my point of view. Most of applications utilize even more resource, for instance, my Google Chrome currently uses more that 2Gbs of RAM). Are you trying to protect a computer with low memory?
Yes, I only have 8GB of RAM and I think it's bad practice for an app which isn't running or doing anything at all, to use 300MB needlessly.

As a developer, I just regard this as bad practice. SQL Server LocalDB is designed to be started on demand - they've not used this feature and have instead to chosen to use it as though it's a full permanently running database application. If every application I had installed, had to use 300MB when it wasn't running, I'd need an extra 24GB of RAM. It only backs up at night for 10 minutes, so why does it need to use loads of RAM (and CPU) during the day when it's completely idle? I'm also considering deploying this to computers which only have 4GB and currently I'm holding back due to this problem.

Most apps use a lightweight DB engine such as SQL Compact or SQLite. SQL Server 2012 is a massive application to run permanently on a users computer, just to schedule a task ( apart from anything, Windows already has a Task Scheduler which is used by all other backup software I've tried - why does Veeam need a 300MB database to just run something nightly at 10pm? It's poor software development in my eyes :(

Nick

sixstorm1
Novice
Posts: 3
Liked: never
Joined: May 11, 2017 12:49 am
Full Name: Olivier Robert
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by sixstorm1 »

Dear VEEAM team, why are you turning your back on this important request? This isn't some minor problem.

1. A background app should NOT consume that much memory when it is idle. This app is bloated and consumes computer resources inefficiently.
2. Dima P, Google Chrome is a bad example, you are comparing memory consumption of an active app with a background app. Also, Chrome is a bloated memory hog itself, it should not be used as a reference.
3. NickG_UK is right, it's a bad programming practice and Veeam is not the sole background running on a computer. If every developer would think like you guys do, even computers with 16 GB of RAM would run out of memory.
4. You are going against Microsoft's own recommendation of loading SQL Server Express only when needed. You should not.

Shut down SQL server when VEEAM is not backing up. We were considering Veeam for our EndPoint backup solution but we'll look into some more memory efficient alternatives. 400 MB of memory consumption is not acceptable.

Thank you

mkaec
Expert
Posts: 361
Liked: 88 times
Joined: Jul 16, 2015 1:31 pm
Full Name: Marc K
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by mkaec »

Last year's discussion on the topic of VAW and SQL memory consumption.

veeam-agent-for-windows-f33/veb-config- ... 33872.html

sixstorm1
Novice
Posts: 3
Liked: never
Joined: May 11, 2017 12:49 am
Full Name: Olivier Robert
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by sixstorm1 »

Still no improvements son this? Simply unload the SQL instance when the app is not backing up, this should be very simple to do and save ton of RAM.

lucius_the
Enthusiast
Posts: 36
Liked: 32 times
Joined: Jun 09, 2017 3:50 pm
Full Name: David
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by lucius_the » 1 person likes this post

Resurrecting the thread. Having had the same issues and questions as you guys and knowing that Veeam had adopted sqlite (at least in Linux version of the agent) I'm trying to make a little push to get it on windows agent as well, instead of SQL Server Express LocalDB that is used currently (in Windows agent version 5). For those who are interested, have a look here: post408852.html#p408852

mkaec
Expert
Posts: 361
Liked: 88 times
Joined: Jul 16, 2015 1:31 pm
Full Name: Marc K
Contact:

Re: Feature Request: Lower RAM usage when no backups running

Post by mkaec »

Love the idea of sqlite replacing LocalDB. The reasoning given in the past for using LocalDB was code sharing with the main product. But now there can be code sharing between the Linux and Windows agents instead.

Post Reply

Who is online

Users browsing this forum: daniel.rajczewski and 21 guests