Wednesday, March 7, 2012

AWE and Memory Configuration

We have a database server running Windows 2000 Advanced Server and SQL 2000
Enterprise with 4 CPU and 8MB of memory. PAE has been configured in boot.ini.
AWE has been enabled and 5120 MB of memory allocated to SQL Server default
instance. Everything has been running fine for the last two years.
Now we are planning to add a named instance on the same server for housing
Accounting database. My question is:
1) Do I need to enable AWE on both instances of SQL Server.
2) Set upper memory for both instances. Say 4GB for default instance and
1GB for the new named instance based on their usage ratio. Leave 3GB for OS.
3) Do I need to do anything with CPU allocations?
Any suggestion. Thanks...Fraz
Hi
With 8GB, can configure 1 GB and 5.5GB without starving the OS (as long as
it is a dedicated SQL Server).
/3GB must be set in boot.ini
Set AWE for the instance with 5.5GB, and a fixed memory setting.
Do not set AWE for the 1GB instance, but have a fixed memory setting for it
too.
Leave OS and SQL server to manage CPU allocations and leave the defaults.
Regards
Mike Epprecht, Microsoft SQL Server MVP
Zurich, Switzerland
IM: mike@.epprecht.net
MVP Program: http://www.microsoft.com/mvp
Blog: http://www.msmvps.com/epprecht/
"Fraz" <Fraz@.discussions.microsoft.com> wrote in message
news:CD4267EB-FF45-4272-B737-6997046F38EC@.microsoft.com...
> We have a database server running Windows 2000 Advanced Server and SQL
> 2000
> Enterprise with 4 CPU and 8MB of memory. PAE has been configured in
> boot.ini.
> AWE has been enabled and 5120 MB of memory allocated to SQL Server default
> instance. Everything has been running fine for the last two years.
> Now we are planning to add a named instance on the same server for housing
> Accounting database. My question is:
> 1) Do I need to enable AWE on both instances of SQL Server.
> 2) Set upper memory for both instances. Say 4GB for default instance and
> 1GB for the new named instance based on their usage ratio. Leave 3GB for
> OS.
> 3) Do I need to do anything with CPU allocations?
> Any suggestion. Thanks...Fraz
>
|||"Fraz" <Fraz@.discussions.microsoft.com> wrote in message
news:CD4267EB-FF45-4272-B737-6997046F38EC@.microsoft.com...
> We have a database server running Windows 2000 Advanced Server and SQL
> 2000
> Enterprise with 4 CPU and 8MB of memory. PAE has been configured in
> boot.ini.
> AWE has been enabled and 5120 MB of memory allocated to SQL Server default
> instance. Everything has been running fine for the last two years.
> Now we are planning to add a named instance on the same server for housing
> Accounting database. My question is:
Why a new instance instead of just adding the database to the default
instance?
How large are these databases? How busy?

> 1) Do I need to enable AWE on both instances of SQL Server.
I would not do that. Either configure the accounting instance to use 2 or
max memory, or mount the database in the main instance. Either one big
instance with AWE, or one big instance with AWE and one small one without.
> 2) Set upper memory for both instances. Say 4GB for default instance and
> 1GB for the new named instance based on their usage ratio. Leave 3GB for
> OS.
The OS doesn't need 3GB. 200-400MB is fine. An instance will "want" a
certian amount of memory depending on its workload and database size.
Giving it more is doesn't help at all; giving it less causes increased
physical IO and a decreased cache hit ratio. AWE is slower than normal
memory, so your smaller instance will run better without AWE. You should
evaluate how much memory your instances really need. Perhaps both instances
will run better with the /3GB switch and AWE off.

> 3) Do I need to do anything with CPU allocations?
If you don't then both instances will share all 4 CPU's, which is lets them
share resources (good), but makes is more difficult to guarantee QOS to
either workload (bad).
If you put the database in the default instance you will share memory and
CPU; in a seperate instance it will not share memory, but will share CPU
unless you set CPU affinity for the instances. So assuming you want to
segregate the instances, you should probably do something with the CPU
affinity.
David
|||I really appreciate your prompt feedback. This satisfies all the questions I
had in my mind. Thanks and cheers. Fraz
"Mike Epprecht (SQL MVP)" wrote:

> Hi
> With 8GB, can configure 1 GB and 5.5GB without starving the OS (as long as
> it is a dedicated SQL Server).
> /3GB must be set in boot.ini
> Set AWE for the instance with 5.5GB, and a fixed memory setting.
> Do not set AWE for the 1GB instance, but have a fixed memory setting for it
> too.
> Leave OS and SQL server to manage CPU allocations and leave the defaults.
> Regards
> --
> Mike Epprecht, Microsoft SQL Server MVP
> Zurich, Switzerland
> IM: mike@.epprecht.net
> MVP Program: http://www.microsoft.com/mvp
> Blog: http://www.msmvps.com/epprecht/
> "Fraz" <Fraz@.discussions.microsoft.com> wrote in message
> news:CD4267EB-FF45-4272-B737-6997046F38EC@.microsoft.com...
>
>
|||The new Accounting database (new named instance) will use different collation
setting i.e. Latin1_General, Sort order Binary whereas the default instance
is using Latin1-General, case-insensitive,for use with 1252 Character Set.
The database size in the new named instance is 5GB, it will be more busy in
the month-end than other days. The test system performance statistics (Total
Server Memory) shows that currently this instance is using 300-350MB.
The default instance in production is a busy instance as we have about 25
databases of different sizes from 5GB to 200MB. The performance statistics
for this shows that it is currently using 1.7 - 2.0GB out of allocated 5GB.
For CPU affinity, would it be okay to leave it to the Default setting.
Thanks...Fraz
"David Browne" wrote:

> "Fraz" <Fraz@.discussions.microsoft.com> wrote in message
> news:CD4267EB-FF45-4272-B737-6997046F38EC@.microsoft.com...
> Why a new instance instead of just adding the database to the default
> instance?
> How large are these databases? How busy?
>
> I would not do that. Either configure the accounting instance to use 2 or
> max memory, or mount the database in the main instance. Either one big
> instance with AWE, or one big instance with AWE and one small one without.
> The OS doesn't need 3GB. 200-400MB is fine. An instance will "want" a
> certian amount of memory depending on its workload and database size.
> Giving it more is doesn't help at all; giving it less causes increased
> physical IO and a decreased cache hit ratio. AWE is slower than normal
> memory, so your smaller instance will run better without AWE. You should
> evaluate how much memory your instances really need. Perhaps both instances
> will run better with the /3GB switch and AWE off.
>
> If you don't then both instances will share all 4 CPU's, which is lets them
> share resources (good), but makes is more difficult to guarantee QOS to
> either workload (bad).
> If you put the database in the default instance you will share memory and
> CPU; in a seperate instance it will not share memory, but will share CPU
> unless you set CPU affinity for the instances. So assuming you want to
> segregate the instances, you should probably do something with the CPU
> affinity.
> David
>
>

No comments:

Post a Comment