[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 86
  • Last Modified:

Sql server Memory Issue

Hi,
When iam checking SQL Logs i found following message
is marked for unload due to memory pressure

Why this kind of issue happening?
0
ukerandi
Asked:
ukerandi
4 Solutions
 
QlemoDeveloperCommented:
Another process has requested memory currently occupied by the SQL Server instance. SQL Server monitors memory usage of other processes for exactly that reason: to be able to deallocate own memory used for buffering data (to improve speed). Memory allocation and consumption is dynamic for MS SQL.

If this happens once a day e.g. because of a backup or other nightly processes temporarily requiring a lot of memory, it is no issue. If you get the message a lot while working hours, you should monitor memory consumption of all processes, and then decide whether it is correctable at that other process or only by adding more RAM to your machine.
0
 
Phil DavidsonCommented:
For further information, you can go to this link.  

The above link is useful if are using CLRs or if this is a problem.  If you know of no problems, then the information you are seeing is not something to cause you alarm.  You may not need to do anything about it.
0
 
David Johnson, CD, MVPOwnerCommented:
SQL server by default is set to use as much memory as available (the high limit is set at some unreachable number 1.6PB (I think)
A good guideline is: Gene Barrys Suggested Settings http://bit.ly/2bvTiBm
Physical RAM                        MaxServerMem Setting
2GB                                           1500
4GB                                           3200
6GB                                           4800
8GB                                           6400
12GB                                         10000
16GB                                         13500
24GB                                         21500
32GB                                         29000
48GB                                         44000
64GB                                         60000
72GB                                         68000
96GB                                         92000
128GB                                       124000

This greatly depends upon the sql server load, size of databases, memory used by other than Base Operating System. If your queries start taking a long time or the CPU load/Disk Performance spike then you have to give it more memory. The machine itself may require a lot more memory.
0
 
Mal OsborneAlpha GeekCommented:
Basically, whenever SQL reads anything from disk, it keeps a copy in RAM, just in case that bit of data might need to be accessed again. Generally, this means that after some time running, total memory usage approaches the size of the data files, or nearly all physical memory.

Once other applications demand memory, and it gets low, SQL will log the "marked for unload due to memory pressure" and release some of the cached memory, so that other applications can use it. Idea is to keep stuff in RAM unless there is a reason to purge it.

Exchange does the same thing, it will also use whatever RAM is available. If a user opens a 10MB .PDF file on Monday, it will stay in RAM until either the Store service is restarted, or RAM is needed for something else.

Unless you want to leave some RAM unused for some reason, it is usually OK to just let SQL do its thing. On a dedicated QQL server, it usually works fine without any manual tuning.
0
 
ukerandiAuthor Commented:
Thanks
0

Featured Post

KuppingerCole Reviews AlgoSec in Executive Report

Leading analyst firm, KuppingerCole reviews AlgoSec's Security Policy Management Solution, and the security challenges faced by companies today in their Executive View report.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now