|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Memory allocation in MS-SQL 2000 instancesHi,
From a previous sys-admin I inherited a a MS-SQL (2000) machine with 3 instances. It is a nice machine with 4 Gb of memory but the memory allocation is very weird: Instance A: 1400Mb Instance B: 1000Mb Instance C: 80Mb (!) Instance C is performing badly under a bit of pressure which seems not strange considering these allocations. With that in mind, is there a way to check and re-allocate memory? I'd like to see if the instances really need these amounts of memory and if not, to move some over to other instances. Thanks! Dries Bessels dries wrote:
Show quote > Hi, Could it be that there simply isn't any more memory for the C instance? > From a previous sys-admin I inherited a a MS-SQL (2000) machine with 3 > instances. It is a nice machine with 4 Gb of memory but the memory allocation > is very weird: > Instance A: 1400Mb > Instance B: 1000Mb > Instance C: 80Mb (!) > > Instance C is performing badly under a bit of pressure which seems not strange > considering these allocations. > > With that in mind, is there a way to check and re-allocate memory? I'd like to > see if the instances really need these amounts of memory and if not, to move > some over to other instances. > > Thanks! > Dries Bessels You doesn't specify which SQL and OS versions you are running, but there could be settings that leave e.g. 1 GB for the OS and then you haven't got any more left for SQL. SQL server will grap memory but doesn't release it again. This means that if the first two instances already had grapped the memory then there is nothing left for instance C. If you have the change, you could try to re-boot the server and then check if the memory consumption becomes more equal between the three instances. Regards Steen dries (dries@bessels.stop-spam.org) writes:
> From a previous sys-admin I inherited a a MS-SQL (2000) machine with 3 You cannot reallocate memory between instances per se, but you configure> instances. It is a nice machine with 4 Gb of memory but the memory > allocation is very weird: > Instance A: 1400Mb > Instance B: 1000Mb > Instance C: 80Mb (!) > > Instance C is performing badly under a bit of pressure which seems not > strange considering these allocations. > > With that in mind, is there a way to check and re-allocate memory? I'd > like to see if the instances really need these amounts of memory and if > not, to move some over to other instances. per server the max amount of memory an instance can use. SQL Server's general strategy on memory is to grab as much it needs and that is available. The use for this memory is cache. The more data that is in cache, the faster data can be accessed. When there is competition for memory, SQL Server will yield. In this it appears that the three instances are competing. 3 instance on 4GB may be a tad low. You are running with the /3GB switch in window? -- Erland Sommarskog, SQL Server MVP, esq***@sommarskog.se Books Online for SQL Server 2005 at http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx |
|||||||||||||||||||||||