Showing posts with label configured. Show all posts
Showing posts with label configured. Show all posts

Sunday, March 11, 2012

AWE working?

Hi all,

This is a question related to AWE settings. I am on windows 2003 ent version with SQL Server 2005 std version. I have configured SQL Server to use AWE and min memery as 22G and max as 26G (I have 32G in total as physical memory). I do see the message in log as "Windows Address ... Enabled", but when I am using performance monitor to view total memory in kb for SQL Server, it never starts at 22G (usually at 1G). And I doubt why? The account I am running SQL Server is an admin account, so it can definitely locked down the pages in memory. Also, I do think AWE is working somehow, after several hours in running, the total memory will up to 8, 9 or 11G. So, apparently, it is over 2G per process limitation. I still want to know.

1. Is my AWE setting working?

2. If not, how to fix that?

3. How to confirm how many memory is actaully using by SQL Server?

Thanks,

NIng


(The comment below assumes 32 bit OS and 32 bit SQL Server.)


1. Since you see that SQL Server's memory usage grows up to 11GB, it is obvious that AWE is working. SQL Server only requests memory from the OS as it is needed -once allocated, it usually keeps it.

2. Nothing to do

3. Performance Monitor, as you are using, indicates SQL Server's memory usage. For more detailed memory usage analysis, you can look at the various SQL Server Memory counters in Performance Monitor, and you can use some the the system functions that will give you memory data. Look at the System Views. (Click on Database, Views, System Views.) Try:

SELECT * FROM sys.dm_os_performance_counter

Looking specifically at the SQL Server Memory Manager objects.

|||Are you sure this is by design?

My performance is awful after I have upgraded. SQL Server 2000 used to locked the memory as it starts, so the production server (4 cpus and 32 G memory) was doing a lot better than my development server with (1cpu and 2G memory). However, after upgrade, the performance level of the production server is awful. For example, a query need 9 seconds on test server used to run only 2 seconds on live server. Now it needs 8 seconds ...

|||

After upgrading, it is NECESSARY to rebuild ALL the indexes, and update the statistics. If you have not done that, your performace will often be signicantly worse.

And even then, some queries will run faster on SQL 2005, and some (albeit few) will run slower. It may be necessary to 'revise' queries that are signicantly slower in order to use the new ways that SQL 2005 produces execution plans.

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
>
>

Saturday, February 25, 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...FrazHi
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...
> > 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
> >
> >
>
>|||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...
> > 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
>
>

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...FrazHi
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 i
t
> 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 collatio
n
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 instanc
es
> 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 the
m
> 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
>
>