Timeline for What steps can I take to determine if my server is under-provisioned for memory?
Current License: CC BY-SA 4.0
11 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 24, 2020 at 18:00 | history | tweeted | twitter.com/StackDBAs/status/1275851201221996547 | ||
Jun 23, 2020 at 17:50 | history | edited | J.D. | CC BY-SA 4.0 |
added more details
|
Jun 15, 2020 at 21:57 | vote | accept | J.D. | ||
Jun 15, 2020 at 14:11 | comment | added | Dominique Boucher | If you have to fight for a budget to buy some, then I guess I would try to start by looking at what is your biggest RAM consumer. Running "sp_BlitzCache @ExpertMode=1" will allow you to see Memory Grants and spill to disk so you could try to see if you have queries that are using a lot of RAM. If so, tuning those queries could fix a lot of your issues. You can also have it run in a job and log into a table, if for example, you noticed that the PLE always drop at a specific time (so you can try to capture what it making the PLE drop). | |
Jun 15, 2020 at 14:10 | comment | added | Dominique Boucher | It's really hard to answer... it may seems like a low number but it depends on the activity on that DB. I mean, if 99% of the DB is historical data that is not used that much, then it may be enough... Looking at the Page Life Expex. and other things like lazy writer could let you think you don't have enough RAM but it may be that you have a bad query that, just for it's execution, asked for 25% of the buffer pool (even if not really using it). This query alone would make the PLE drop. If you do have extra unused RAM, well adding more to your instance will not hurt. | |
Jun 15, 2020 at 13:48 | history | edited | J.D. | CC BY-SA 4.0 |
added more meaningful info
|
Jun 14, 2020 at 13:44 | comment | added | J.D. | @DominiqueBoucher So my primary database is 2 TB big, the whole server is 3 TB big, but it only has 32 GB of RAM. | |
Jun 12, 2020 at 18:30 | comment | added | Dominique Boucher | I like to run sp_BlitzFirst @ExpertMode=1 and look at the top waits. If your top waits are not memory releated then I would look at fixing those other source of problem before looking at the RAM. Usually, when you have not enough memory, you would get waits like "RESOURCE_SEMAPHORE". It does automatically means that you need more RAM. Sometime, it could be fix by improving the queries or adding the right indexes. How big is your database and how much RAM is assign to the SQL (maximum_memory) ? | |
Jun 12, 2020 at 1:57 | history | became hot network question | |||
Jun 11, 2020 at 18:30 | answer | added | Niels Broertjes | timeline score: 9 | |
Jun 11, 2020 at 17:56 | history | asked | J.D. | CC BY-SA 4.0 |