![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
We have 2003 server and cluster running on 2 nodes. Each node has 4 GB RAM. Each node has one instance of SQL Server 2000 ent. Recently we installed the /3GB switch and enabled AWE. We set max memory to 3.5 GB on each node. Memory on one node (actually the less utilized node) has achieved 3.33 GB as shown in perfmon/memory manager/total server memory. However, the other node (the more utilized node) has only achieved 2.7 GB. The changes were made this weekend. Any ideas why the one node is not using more memory? Thanks for any suggestions. |
#3
| |||
| |||
|
#4
| |||||
| |||||
|
|
I didn't set min memory. In the event of a failover, where both are running on one node, would they not just get as much as available? AWE forces the SQL to fixed allocation memory with an amount equal to MAX |
|
e.g: Instance 1 on Node A fails over to Node B. So both Instance 1 and Instance 2 are running on Node B. Prior to the fail-over, Instance 2 had |
| AWE = Fixed memory with no adjustment without restarting the service. You |
|
If I want each instance to have 3.5 GB, then the total RAM on each node should perhaps be 3.5+3.5+.5+.5=8 GB? Yes. That would allow the fail-over total to accommodate both instances at the 3.5 level. Yes. |
|
Thanks. |
#5
| |||
| |||
|
|
You do not have enough memory free to stack all the instances on one node should you have a failure. I would remove AWE (you don't need it anyway with 4GB or RAM or less). /3GB may not be a good idea either in your situation. I would set up each SQL instance with around 1.5 to 1.7GB of RAM so that you have room for both on a single node during a failure. Excerpt from Article 254321 ----------- Memory Allocation (All Versions) When you allocate memory for clustered SQL Server servers, make sure that the summed value of the maximum server memory settings for all the instances of SQL Server plus any other cluster resource and local application requirments is less than the lowest amount of physical RAM available on any of the servers in the failover cluster. ------------- |
#6
| ||||
| ||||
|
|
In message <uTewGus3DHA.2168 (AT) TK2MSFTNGP12 (DOT) phx.gbl>, Geoff N. Hiten SRDBA (AT) Careerbuilder (DOT) com> writes You do not have enough memory free to stack all the instances on one node should you have a failure. I would remove AWE (you don't need it anyway with 4GB or RAM or less). /3GB may not be a good idea either in your situation. I would set up each SQL instance with around 1.5 to 1.7GB of RAM so that you have room for both on a single node during a failure. Excerpt from Article 254321 ----------- Memory Allocation (All Versions) When you allocate memory for clustered SQL Server servers, make sure that the summed value of the maximum server memory settings for all the instances of SQL Server plus any other cluster resource and local application requirments is less than the lowest amount of physical RAM available on any of the servers in the failover cluster. ------------- Geoff, What actually happens if you don't follow this rule? Does anything die? Dunno, I never tried it for real. The warnings are gruesome enough. |
|
Won't the existing instance just get asked by the OS for some memory back, give it up nicely and everything runs a bit slower for a while. Nope, the memory is allocated and non-returnable. Since applications |
|
In many cases I suspect the idea of multiple instances giving maximum use of the hardware, but with a performance degradation during a failover situation would seem quite appealing as opposed to extra cost and redundant hardware. |
|
-- Darren Green (SQL Server MVP) DTS - http://www.sqldts.com PASS - the definitive, global community for SQL Server professionals http://www.sqlpass.org |
![]() |
| Thread Tools | |
| Display Modes | |
| |