Showing posts with label virtual. Show all posts
Showing posts with label virtual. Show all posts

Friday, March 9, 2012

Memory settings for Virtual SQL Server

Hi all,
I am planning to put one instance of SQL Server 2000 sp3 on a two node
Windows 2003 EE MSCS. Each node has two channels, with each channel running
RAID 1. The page file is in one channel, and the OS in the other. Each node
has 4GB of RAM, and PAE enabled. The pagefiles are locked at 8GB on each
server. MDB's and LOG's will run on separate LUN's in the shared storage
array, with MDB's configured as RAID 1/0 and LOGs as RAID 1. Both nodes will
be dedicated to SQL Server.
1. Should I enable AWE in this situation?
2. Should I use the /3GB switch?
3. Would you put the SQL bits in the OS RAID group or the pagefile RAID
group?
4. What settings for sp_configure 'min server memory'?
5. For sp_configure 'max server memory'?
6. Settings for Sp_configure 'max worker thread'?
7. Use WindowsNT fibers?
8. Settings for set working set size? 0?
Thanks for any advice.
John
1. No. And you can remove the /PAE switch from boot.ini. Unless you have
MORE than 4GB of RAM , you don't need it.
2. No. You will need to have flexible memory incase the two instances land
on the same host during a failover event.
3. Forget the pagefile RAID group. Put the pagefile on the OS partition.
A properly tuned SQL server should not page. Put SQL Data and Logs on
different RAID groups. If you only have two RAID groups, put Data on its
own group and Logs on with the OS bits.
4. No change.
5. No change. With 4GB of RAM , it is best to allow SQL to determine its
own memory usage. If you end up with two instances on the same node, they
will come to a balance. You can lock those numbers into the settings, but
be aware that changes in load man affect memory demand between the two
instances.
6. Unless PSS tells you, don't change it.
7. No. Very No.
8. Again, go with the default.
Geoff N. Hiten
Microsoft SQL Server MVP
"JT" <Jthayer@.online.nospam> wrote in message
news:371EAB65-6324-4ABC-A798-E0A114B528B2@.microsoft.com...
> Hi all,
> I am planning to put one instance of SQL Server 2000 sp3 on a two node
> Windows 2003 EE MSCS. Each node has two channels, with each channel
> running
> RAID 1. The page file is in one channel, and the OS in the other. Each
> node
> has 4GB of RAM, and PAE enabled. The pagefiles are locked at 8GB on each
> server. MDB's and LOG's will run on separate LUN's in the shared storage
> array, with MDB's configured as RAID 1/0 and LOGs as RAID 1. Both nodes
> will
> be dedicated to SQL Server.
> 1. Should I enable AWE in this situation?
> 2. Should I use the /3GB switch?
> 3. Would you put the SQL bits in the OS RAID group or the pagefile RAID
> group?
> 4. What settings for sp_configure 'min server memory'?
> 5. For sp_configure 'max server memory'?
> 6. Settings for Sp_configure 'max worker thread'?
> 7. Use WindowsNT fibers?
> 8. Settings for set working set size? 0?
> Thanks for any advice.
> --
> John
|||Thank you Geoff.
John
"Geoff N. Hiten" wrote:

> 1. No. And you can remove the /PAE switch from boot.ini. Unless you have
> MORE than 4GB of RAM , you don't need it.
> 2. No. You will need to have flexible memory incase the two instances land
> on the same host during a failover event.
> 3. Forget the pagefile RAID group. Put the pagefile on the OS partition.
> A properly tuned SQL server should not page. Put SQL Data and Logs on
> different RAID groups. If you only have two RAID groups, put Data on its
> own group and Logs on with the OS bits.
> 4. No change.
> 5. No change. With 4GB of RAM , it is best to allow SQL to determine its
> own memory usage. If you end up with two instances on the same node, they
> will come to a balance. You can lock those numbers into the settings, but
> be aware that changes in load man affect memory demand between the two
> instances.
> 6. Unless PSS tells you, don't change it.
> 7. No. Very No.
> 8. Again, go with the default.
> Geoff N. Hiten
> Microsoft SQL Server MVP
> "JT" <Jthayer@.online.nospam> wrote in message
> news:371EAB65-6324-4ABC-A798-E0A114B528B2@.microsoft.com...
>
>
|||Hi again Geoff. As I think about your answer, I think you may have
misunderstood my situation. I am not putting on two instances of SQL Server.
I am putting on one instance onto a virtual server running in active/passive
mode. In this situation, I would expect to not need spare ram to absorb the
second instance, as there will not be one. Would your answers change,
especially the /3GB, AWE and server memory options?
Thanks for your additional consideration of this question.
John
"Geoff N. Hiten" wrote:

> 1. No. And you can remove the /PAE switch from boot.ini. Unless you have
> MORE than 4GB of RAM , you don't need it.
> 2. No. You will need to have flexible memory incase the two instances land
> on the same host during a failover event.
> 3. Forget the pagefile RAID group. Put the pagefile on the OS partition.
> A properly tuned SQL server should not page. Put SQL Data and Logs on
> different RAID groups. If you only have two RAID groups, put Data on its
> own group and Logs on with the OS bits.
> 4. No change.
> 5. No change. With 4GB of RAM , it is best to allow SQL to determine its
> own memory usage. If you end up with two instances on the same node, they
> will come to a balance. You can lock those numbers into the settings, but
> be aware that changes in load man affect memory demand between the two
> instances.
> 6. Unless PSS tells you, don't change it.
> 7. No. Very No.
> 8. Again, go with the default.
> Geoff N. Hiten
> Microsoft SQL Server MVP
> "JT" <Jthayer@.online.nospam> wrote in message
> news:371EAB65-6324-4ABC-A798-E0A114B528B2@.microsoft.com...
>
>
|||Active/Passive is not the current nor the correct nomenclature. What you
are talking about is a Single-Instance cluster. With 4GB of RAM in each
host node, I would use the /3GB switch but not AWE or PAE. This KB article
may help (or it may confuse you beyond hope).
How to configure memory for more than 2 GB in SQL Server
http://support.microsoft.com/default...b;en-us;274750
Geoff N. Hiten
Microsoft SQL Server MVP
"JT" <Jthayer@.online.nospam> wrote in message
news:4757AAF6-2A34-4961-8BD0-83580457F6EB@.microsoft.com...[vbcol=seagreen]
> Hi again Geoff. As I think about your answer, I think you may have
> misunderstood my situation. I am not putting on two instances of SQL
> Server.
> I am putting on one instance onto a virtual server running in
> active/passive
> mode. In this situation, I would expect to not need spare ram to absorb
> the
> second instance, as there will not be one. Would your answers change,
> especially the /3GB, AWE and server memory options?
> Thanks for your additional consideration of this question.
> --
> John
>
> "Geoff N. Hiten" wrote:

Memory required for SQL Server 2000

We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.This is a multi-part message in MIME format.
--060500000502050507020305
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
In most situations, SQL Server's memory allocation will be lowest when
you first start the service. SQL Server will cache each data page as it
is read from disk until a minimum free memory threshold is reached (from
memory the threshold is 10MB by default). SQL Server then removes least
recently used pages from its cache, and releases memory, as necessary in
order to maintain the free memory threshold. This means that the longer
the service runs the more memory it will use (up to a limit). This is
Microsoft's dynamic memory management model.
One exception to this "increasing memory use" model is when you
configure SQL Server to grab its entire memory allocation on service
start-up, in which case all the memory, up to the configured maximum
limit, is reserved up front. However, there are no situations (that I
can think of) where SQL Server initially uses more memory and then
releases a substantial portion of it to "stabilise" at a certain level
(unless you start messing around with DBCC to flush the data buffer &
procedure cache).
--
*mike hodgson*
http://sqlnerd.blogspot.com
Robert wrote:
>We have been running an application on SQL Server 2000 on a Windows 2000
>Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
>From the statistics, we find that the memory utilization of that Windows
>2000 Server is around 200MB of memory. In this way, we attempt to change
>the RAM from 2GB to 1GB. However, we find that the memory utilization is as
>high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
>We just thinking the rise of memory required is only for the first 1 to 2
>hours OR not ? If there any reason for a SQL Server 2000 to grab more
>memory when we start it up ? Will the memory be stabilized to become 200MB
>again ?
>
>Your advice is sought.
>
>
--060500000502050507020305
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>In most situations, SQL Server's memory allocation will be lowest
when you first start the service. SQL Server will cache each data page
as it is read from disk until a minimum free memory threshold is
reached (from memory the threshold is 10MB by default). </tt><tt>SQL
Server then removes least recently used pages from its cache,
and releases memory, as necessary in order to maintain the free memory
threshold. </tt><tt>This means that the longer the service runs the
more memory it will use (up to a limit). This is Microsoft's dynamic
memory management model.<br>
<br>
One exception to this "increasing memory use" model is when you
configure SQL Server to grab its entire memory allocation on service
start-up, in which case all the memory, up to the configured maximum
limit, is reserved up front. However, there are no situations (that I
can think of) where SQL Server initially uses more memory and then
releases a substantial portion of it to "stabilise" at a certain level
(unless you start messing around with DBCC to flush the data buffer
& procedure cache).</tt><br>
<div class="moz-signature">
<title></title>
<meta http-equiv="Content-Type" content="text/html; ">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span> <b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Robert wrote:
<blockquote cite="midOeJwQEbnGHA.4868@.TK2MSFTNGP02.phx.gbl" type="cite">
<pre wrap="">We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.
</pre>
</blockquote>
</body>
</html>
--060500000502050507020305--|||This is a multi-part message in MIME format.
--=_NextPart_000_0016_01C69ED0.60E2CBA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Dear Mike,
Thank you for your advice.
If the physical RAM is 2GB and I change the maximum RAM setting for the =SQL Server 2000 to 1.5GB. Does it mean that the SQL Server 2000 will =use most up to 1.5GB RAM ?
Thanks
"Mike Hodgson" <e1minst3r@.gmail.com> wrote in message =news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl...
In most situations, SQL Server's memory allocation will be lowest when =you first start the service. SQL Server will cache each data page as it =is read from disk until a minimum free memory threshold is reached (from =memory the threshold is 10MB by default). SQL Server then removes least =recently used pages from its cache, and releases memory, as necessary in =order to maintain the free memory threshold. This means that the longer =the service runs the more memory it will use (up to a limit). This is =Microsoft's dynamic memory management model.
One exception to this "increasing memory use" model is when you =configure SQL Server to grab its entire memory allocation on service =start-up, in which case all the memory, up to the configured maximum =limit, is reserved up front. However, there are no situations (that I =can think of) where SQL Server initially uses more memory and then =releases a substantial portion of it to "stabilise" at a certain level =(unless you start messing around with DBCC to flush the data buffer & =procedure cache).
--
mike hodgson
http://sqlnerd.blogspot.com=20
Robert wrote: We have been running an application on SQL Server 2000 on a Windows 2000 =
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows =
2000 Server is around 200MB of memory. In this way, we attempt to =change the RAM from 2GB to 1GB. However, we find that the memory utilization =is as high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to =2 hours OR not ? If there any reason for a SQL Server 2000 to grab more memory when we start it up ? Will the memory be stabilized to become =200MB again ?
Your advice is sought.
--=_NextPart_000_0016_01C69ED0.60E2CBA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
&

Dear Mike,
Thank you for your advice.
If the physical RAM is 2GB and I change =the maximum RAM setting for the SQL Server 2000 to 1.5GB. Does it mean that =the SQL Server 2000 will use most up to 1.5GB RAM ?
Thanks
"Mike Hodgson" wrote =in message news:OYx8BvknGHA.3340=@.TK2MSFTNGP02.phx.gbl...In most situations, SQL Server's memory allocation will be lowest when =you first start the service. SQL Server will cache each data page as it is =read from disk until a minimum free memory threshold is reached (from =memory the threshold is 10MB by default). SQL Server then removes =least recently used pages from its cache, and releases memory, as necessary =in order to maintain the free memory threshold. This means that =the longer the service runs the more memory it will use (up to a =limit). This is Microsoft's dynamic memory management model.One =exception to this "increasing memory use" model is when you configure SQL Server to =grab its entire memory allocation on service start-up, in which case all =the memory, up to the configured maximum limit, is reserved up =front. However, there are no situations (that I can think of) where SQL =Server initially uses more memory and then releases a substantial portion of =it to "stabilise" at a certain level (unless you start messing around with =DBCC to flush the data buffer & procedure cache).
--mike =hodgsonhttp://sqlnerd.blogspot.com Robert wrote: We have been running an application on SQL =Server 2000 on a Windows 2000 Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows =2000 Server is around 200MB of memory. In this way, we attempt to =change the RAM from 2GB to 1GB. However, we find that the memory utilization =is as high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to =2 hours OR not ? If there any reason for a SQL Server 2000 to grab more memory when we start it up ? Will the memory be stabilized to become =200MB again ?
Your advice is sought.

--=_NextPart_000_0016_01C69ED0.60E2CBA0--|||This is a multi-part message in MIME format.
--060007000708090601070304
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
It means that SQL Server will be allowed, at most, a 1.5GB address
space. It does not necessarily mean this will be backed by physical
memory. If there is not enough physical memory to support SQL Server's
requests, in addition to the other applications requesting memory on the
box (including the OS itself), then part of that memory space will be
backed by virtual memory, which, needless-to-say, is not a
high-performance situation. The exception to this, which does not apply
to you because you are playing with less than 4GB of physical memory, is
AWE memory, which is always satisfied from physical memory (it is never
swapped to disk).
--
*mike hodgson*
http://sqlnerd.blogspot.com
Robert wrote:
> Dear Mike,
> Thank you for your advice.
> If the physical RAM is 2GB and I change the maximum RAM setting for
> the SQL Server 2000 to 1.5GB. Does it mean that the SQL Server 2000
> will use most up to 1.5GB RAM ?
> Thanks
>
> "Mike Hodgson" <e1minst3r@.gmail.com <mailto:e1minst3r@.gmail.com>>
> wrote in message news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl...
> In most situations, SQL Server's memory allocation will be lowest
> when you first start the service. SQL Server will cache each data
> page as it is read from disk until a minimum free memory threshold
> is reached (from memory the threshold is 10MB by default). SQL
> Server then removes least recently used pages from its cache, and
> releases memory, as necessary in order to maintain the free memory
> threshold. This means that the longer the service runs the more
> memory it will use (up to a limit). This is Microsoft's dynamic
> memory management model.
> One exception to this "increasing memory use" model is when you
> configure SQL Server to grab its entire memory allocation on
> service start-up, in which case all the memory, up to the
> configured maximum limit, is reserved up front. However, there
> are no situations (that I can think of) where SQL Server initially
> uses more memory and then releases a substantial portion of it to
> "stabilise" at a certain level (unless you start messing around
> with DBCC to flush the data buffer & procedure cache).
> --
> *mike hodgson*
> http://sqlnerd.blogspot.com
>
> Robert wrote:
>>We have been running an application on SQL Server 2000 on a Windows 2000
>>Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
>>From the statistics, we find that the memory utilization of that Windows
>>2000 Server is around 200MB of memory. In this way, we attempt to change
>>the RAM from 2GB to 1GB. However, we find that the memory utilization is as
>>high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
>>We just thinking the rise of memory required is only for the first 1 to 2
>>hours OR not ? If there any reason for a SQL Server 2000 to grab more
>>memory when we start it up ? Will the memory be stabilized to become 200MB
>>again ?
>>
>>Your advice is sought.
>>
>>
--060007000708090601070304
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>It means that SQL Server will be allowed, at most, a 1.5GB address
space. It does not necessarily mean this will be backed by physical
memory. If there is not enough physical memory to support SQL Server's
requests, in addition to the other applications requesting memory on
the box (including the OS itself), then part of that memory space will
be backed by virtual memory, which, needless-to-say, is not a
high-performance situation. The exception to this, which does not
apply to you because you are playing with less than 4GB of physical
memory, is AWE memory, which is always satisfied from physical memory
(it is never swapped to disk).</tt><br>
<div class="moz-signature">
<title></title>
<meta http-equiv="Content-Type" content="text/html; ">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span> <b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Robert wrote:
<blockquote cite="miducrwUrnnGHA.4728@.TK2MSFTNGP03.phx.gbl" type="cite">
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<meta content="MSHTML 6.00.2900.2912" name="GENERATOR">
<style></style>
<div><font face="Arial" size="2">Dear Mike,</font></div>
<div> </div>
<div><font face="Arial" size="2">Thank you for your advice.</font></div>
<div> </div>
<div><font face="Arial" size="2">If the physical RAM is 2GB and I
change the maximum RAM setting for the SQL Server 2000 to 1.5GB. Does
it mean that the SQL Server 2000 will use most up to 1.5GB RAM ?</font></div>
<div> </div>
<div><font face="Arial" size="2">Thanks</font></div>
<div> </div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;"
dir="ltr">
<div>"Mike Hodgson" <<a href="http://links.10026.com/?link=mailto:e1minst3r@.gmail.com">e1minst3r@.gmail.com</a>>
wrote in message <a href="http://links.10026.com/?link=news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl">news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl</a>...</div>
<tt>In most situations, SQL Server's memory allocation will be
lowest when you first start the service. SQL Server will cache each
data page as it is read from disk until a minimum free memory threshold
is reached (from memory the threshold is 10MB by default). </tt><tt>SQL
Server then removes least recently used pages from its cache, and
releases memory, as necessary in order to maintain the free memory
threshold. </tt><tt>This means that the longer the service runs the
more memory it will use (up to a limit). This is Microsoft's dynamic
memory management model.<br>
<br>
One exception to this "increasing memory use" model is when you
configure SQL Server to grab its entire memory allocation on service
start-up, in which case all the memory, up to the configured maximum
limit, is reserved up front. However, there are no situations (that I
can think of) where SQL Server initially uses more memory and then
releases a substantial portion of it to "stabilise" at a certain level
(unless you start messing around with DBCC to flush the data buffer
& procedure cache).</tt><br>
<div class="moz-signature">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span><b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Robert wrote:
<blockquote cite="midOeJwQEbnGHA.4868@.TK2MSFTNGP02.phx.gbl"
type="cite">
<pre wrap="">We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.
</pre>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>
--060007000708090601070304--|||This is a multi-part message in MIME format.
--070103030000040705020106
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
For a little more background info about it, see the blog entry I just wrote:
http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html
Plus there's a stack of info about it in BOL and several quality
publications including The Guru's Guide to SQL Server Architecture and
Internals
<http://www.amazon.com/gp/product/0201700476/sr=8-2/qid=1152005971/ref=sr_1_2/104-4550407-8498336?ie=UTF8>
by Ken Henderson and Inside SQL Server 2000
<http://www.amazon.com/gp/product/0735609985/sr=8-2/qid=1152006007/ref=pd_bbs_2/104-4550407-8498336?ie=UTF8>
by Kalen Delaney.
--
*mike hodgson*
http://sqlnerd.blogspot.com
Mike Hodgson wrote:
> It means that SQL Server will be allowed, at most, a 1.5GB address
> space. It does not necessarily mean this will be backed by physical
> memory. If there is not enough physical memory to support SQL
> Server's requests, in addition to the other applications requesting
> memory on the box (including the OS itself), then part of that memory
> space will be backed by virtual memory, which, needless-to-say, is not
> a high-performance situation. The exception to this, which does not
> apply to you because you are playing with less than 4GB of physical
> memory, is AWE memory, which is always satisfied from physical memory
> (it is never swapped to disk).
> --
> *mike hodgson*
> http://sqlnerd.blogspot.com
>
> Robert wrote:
>> Dear Mike,
>> Thank you for your advice.
>> If the physical RAM is 2GB and I change the maximum RAM setting for
>> the SQL Server 2000 to 1.5GB. Does it mean that the SQL Server 2000
>> will use most up to 1.5GB RAM ?
>> Thanks
>>
>> "Mike Hodgson" <e1minst3r@.gmail.com <mailto:e1minst3r@.gmail.com>>
>> wrote in message news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl...
>> In most situations, SQL Server's memory allocation will be lowest
>> when you first start the service. SQL Server will cache each
>> data page as it is read from disk until a minimum free memory
>> threshold is reached (from memory the threshold is 10MB by
>> default). SQL Server then removes least recently used pages from
>> its cache, and releases memory, as necessary in order to maintain
>> the free memory threshold. This means that the longer the
>> service runs the more memory it will use (up to a limit). This
>> is Microsoft's dynamic memory management model.
>> One exception to this "increasing memory use" model is when you
>> configure SQL Server to grab its entire memory allocation on
>> service start-up, in which case all the memory, up to the
>> configured maximum limit, is reserved up front. However, there
>> are no situations (that I can think of) where SQL Server
>> initially uses more memory and then releases a substantial
>> portion of it to "stabilise" at a certain level (unless you start
>> messing around with DBCC to flush the data buffer & procedure cache).
>> --
>> *mike hodgson*
>> http://sqlnerd.blogspot.com
>>
>> Robert wrote:
>>We have been running an application on SQL Server 2000 on a Windows 2000
>>Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
>>From the statistics, we find that the memory utilization of that Windows
>>2000 Server is around 200MB of memory. In this way, we attempt to change
>>the RAM from 2GB to 1GB. However, we find that the memory utilization is as
>>high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
>>We just thinking the rise of memory required is only for the first 1 to 2
>>hours OR not ? If there any reason for a SQL Server 2000 to grab more
>>memory when we start it up ? Will the memory be stabilized to become 200MB
>>again ?
>>
>>Your advice is sought.
>>
>>
--070103030000040705020106
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
<tt>For a little more background info about it, see the blog entry I
just wrote:<br>
<a class="moz-txt-link-freetext" href="http://links.10026.com/?link=http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html</a><br>">http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html">http://sqlnerd.blogspot.com/2006/07/memory-use-in-sql-server.html</a><br>
<br>
Plus there's a stack of info about it in BOL and several quality
publications including <a
href="http://links.10026.com/?link=The">http://www.amazon.com/gp/product/0201700476/sr=8-2/qid=1152005971/ref=sr_1_2/104-4550407-8498336?ie=UTF8">The
Guru's Guide to SQL Server Architecture and Internals</a> by Ken
Henderson and <a
href="http://links.10026.com/?link=Inside">http://www.amazon.com/gp/product/0735609985/sr=8-2/qid=1152006007/ref=pd_bbs_2/104-4550407-8498336?ie=UTF8">Inside
SQL Server 2000</a> by Kalen Delaney.<br>
</tt>
<div class="moz-signature">
<title></title>
<meta http-equiv="Content-Type" content="text/html; ">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span> <b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Mike Hodgson wrote:
<blockquote cite="midef076WpnGHA.3340@.TK2MSFTNGP02.phx.gbl" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
<tt>It means that SQL Server will be allowed, at most, a 1.5GB
address
space. It does not necessarily mean this will be backed by physical
memory. If there is not enough physical memory to support SQL Server's
requests, in addition to the other applications requesting memory on
the box (including the OS itself), then part of that memory space will
be backed by virtual memory, which, needless-to-say, is not a
high-performance situation. The exception to this, which does not
apply to you because you are playing with less than 4GB of physical
memory, is AWE memory, which is always satisfied from physical memory
(it is never swapped to disk).</tt><br>
<div class="moz-signature">
<title></title>
<meta http-equiv="Content-Type" content="text/html; ">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span> <b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Robert wrote:
<blockquote cite="miducrwUrnnGHA.4728@.TK2MSFTNGP03.phx.gbl"
type="cite">
<title></title>
<meta http-equiv="Content-Type" content="text/html;">
<meta content="MSHTML 6.00.2900.2912" name="GENERATOR">
<style></style>
<div><font face="Arial" size="2">Dear Mike,</font></div>
<div> </div>
<div><font face="Arial" size="2">Thank you for your advice.</font></div>
<div> </div>
<div><font face="Arial" size="2">If the physical RAM is 2GB and I
change the maximum RAM setting for the SQL Server 2000 to 1.5GB. Does
it mean that the SQL Server 2000 will use most up to 1.5GB RAM ?</font></div>
<div> </div>
<div><font face="Arial" size="2">Thanks</font></div>
<div> </div>
<blockquote
style="border-left: 2px solid rgb(0, 0, 0); padding-right: 0px; padding-left: 5px; margin-left: 5px; margin-right: 0px;"
dir="ltr">
<div>"Mike Hodgson" <<a href="http://links.10026.com/?link=mailto:e1minst3r@.gmail.com">e1minst3r@.gmail.com</a>>
wrote in message <a href="http://links.10026.com/?link=news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl">news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl</a>...</div>
<tt>In most situations, SQL Server's memory allocation will be
lowest when you first start the service. SQL Server will cache each
data page as it is read from disk until a minimum free memory threshold
is reached (from memory the threshold is 10MB by default). </tt><tt>SQL
Server then removes least recently used pages from its cache, and
releases memory, as necessary in order to maintain the free memory
threshold. </tt><tt>This means that the longer the service runs the
more memory it will use (up to a limit). This is Microsoft's dynamic
memory management model.<br>
<br>
One exception to this "increasing memory use" model is when you
configure SQL Server to grab its entire memory allocation on service
start-up, in which case all the memory, up to the configured maximum
limit, is reserved up front. However, there are no situations (that I
can think of) where SQL Server initially uses more memory and then
releases a substantial portion of it to "stabilise" at a certain level
(unless you start messing around with DBCC to flush the data buffer
& procedure cache).</tt><br>
<div class="moz-signature">
<p><span lang="en-au"><font face="Tahoma" size="2">--<br>
</font></span><b><span lang="en-au"><font face="Tahoma" size="2">mike
hodgson</font></span></b><span lang="en-au"><br>
<font face="Tahoma" size="2"><a href="http://links.10026.com/?link=http://sqlnerd.blogspot.com</a></font></span>">http://sqlnerd.blogspot.com">http://sqlnerd.blogspot.com</a></font></span>
</p>
</div>
<br>
<br>
Robert wrote:
<blockquote cite="midOeJwQEbnGHA.4868@.TK2MSFTNGP02.phx.gbl"
type="cite">
<pre wrap="">We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.
</pre>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>
--070103030000040705020106--

Memory required for SQL Server 2000

We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.In most situations, SQL Server's memory allocation will be lowest when
you first start the service. SQL Server will cache each data page as it
is read from disk until a minimum free memory threshold is reached (from
memory the threshold is 10MB by default). SQL Server then removes least
recently used pages from its cache, and releases memory, as necessary in
order to maintain the free memory threshold. This means that the longer
the service runs the more memory it will use (up to a limit). This is
Microsoft's dynamic memory management model.
One exception to this "increasing memory use" model is when you
configure SQL Server to grab its entire memory allocation on service
start-up, in which case all the memory, up to the configured maximum
limit, is reserved up front. However, there are no situations (that I
can think of) where SQL Server initially uses more memory and then
releases a substantial portion of it to "stabilise" at a certain level
(unless you start messing around with DBCC to flush the data buffer &
procedure cache).
*mike hodgson*
http://sqlnerd.blogspot.com
Robert wrote:

>We have been running an application on SQL Server 2000 on a Windows 2000
>Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
>From the statistics, we find that the memory utilization of that Windows
>2000 Server is around 200MB of memory. In this way, we attempt to change
>the RAM from 2GB to 1GB. However, we find that the memory utilization is a
s
>high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
>We just thinking the rise of memory required is only for the first 1 to 2
>hours OR not ? If there any reason for a SQL Server 2000 to grab more
>memory when we start it up ? Will the memory be stabilized to become 200MB
>again ?
>
>Your advice is sought.
>
>|||Dear Mike,
Thank you for your advice.
If the physical RAM is 2GB and I change the maximum RAM setting for the SQL
Server 2000 to 1.5GB. Does it mean that the SQL Server 2000 will use most u
p to 1.5GB RAM ?
Thanks
"Mike Hodgson" <e1minst3r@.gmail.com> wrote in message news:OYx8BvknGHA.3340@.
TK2MSFTNGP02.phx.gbl...
In most situations, SQL Server's memory allocation will be lowest when you f
irst start the service. SQL Server will cache each data page as it is read
from disk until a minimum free memory threshold is reached (from memory the
threshold is 10MB by default). SQL Server then removes least recently used
pages from its cache, and releases memory, as necessary in order to maintain
the free memory threshold. This means that the longer the service runs the
more memory it will use (up to a limit). This is Microsoft's dynamic memor
y management model.
One exception to this "increasing memory use" model is when you configure SQ
L Server to grab its entire memory allocation on service start-up, in which
case all the memory, up to the configured maximum limit, is reserved up fron
t. However, there are no situations (that I can think of) where SQL Server
initially uses more memory and then releases a substantial portion of it to
"stabilise" at a certain level (unless you start messing around with DBCC to
flush the data buffer & procedure cache).
mike hodgson
http://sqlnerd.blogspot.com
Robert wrote:
We have been running an application on SQL Server 2000 on a Windows 2000
Server with 2GB of memory (As a Virtual Machine on VMWare ESX Server).
From the statistics, we find that the memory utilization of that Windows
2000 Server is around 200MB of memory. In this way, we attempt to change
the RAM from 2GB to 1GB. However, we find that the memory utilization is as
high as around 1GB. In this way, we change the RAM from 2GB to 1GB.
We just thinking the rise of memory required is only for the first 1 to 2
hours OR not ? If there any reason for a SQL Server 2000 to grab more
memory when we start it up ? Will the memory be stabilized to become 200MB
again ?
Your advice is sought.|||It means that SQL Server will be allowed, at most, a 1.5GB address
space. It does not necessarily mean this will be backed by physical
memory. If there is not enough physical memory to support SQL Server's
requests, in addition to the other applications requesting memory on the
box (including the OS itself), then part of that memory space will be
backed by virtual memory, which, needless-to-say, is not a
high-performance situation. The exception to this, which does not apply
to you because you are playing with less than 4GB of physical memory, is
AWE memory, which is always satisfied from physical memory (it is never
swapped to disk).
*mike hodgson*
http://sqlnerd.blogspot.com
Robert wrote:
[vbcol=seagreen]
> Dear Mike,
> Thank you for your advice.
> If the physical RAM is 2GB and I change the maximum RAM setting for
> the SQL Server 2000 to 1.5GB. Does it mean that the SQL Server 2000
> will use most up to 1.5GB RAM ?
> Thanks
>
> "Mike Hodgson" <e1minst3r@.gmail.com <mailto:e1minst3r@.gmail.com>>
> wrote in message news:OYx8BvknGHA.3340@.TK2MSFTNGP02.phx.gbl...
> In most situations, SQL Server's memory allocation will be lowest
> when you first start the service. SQL Server will cache each data
> page as it is read from disk until a minimum free memory threshold
> is reached (from memory the threshold is 10MB by default). SQL
> Server then removes least recently used pages from its cache, and
> releases memory, as necessary in order to maintain the free memory
> threshold. This means that the longer the service runs the more
> memory it will use (up to a limit). This is Microsoft's dynamic
> memory management model.
> One exception to this "increasing memory use" model is when you
> configure SQL Server to grab its entire memory allocation on
> service start-up, in which case all the memory, up to the
> configured maximum limit, is reserved up front. However, there
> are no situations (that I can think of) where SQL Server initially
> uses more memory and then releases a substantial portion of it to
> "stabilise" at a certain level (unless you start messing around
> with DBCC to flush the data buffer & procedure cache).
> --
> *mike hodgson*
> http://sqlnerd.blogspot.com
>
> Robert wrote:
>|||For a little more background info about it, see the blog entry I just wrote:
http://sqlnerd.blogspot.com/2006/07...sql-server.html
Plus there's a stack of info about it in BOL and several quality
publications including The Guru's Guide to SQL Server Architecture and
Internals
<http://www.amazon.com/gp/product/02...8498336?ie=UTF8>
by Ken Henderson and Inside SQL Server 2000
<http://www.amazon.com/gp/product/07...8498336?ie=UTF8>
by Kalen Delaney.
*mike hodgson*
http://sqlnerd.blogspot.com
Mike Hodgson wrote:
[vbcol=seagreen]
> It means that SQL Server will be allowed, at most, a 1.5GB address
> space. It does not necessarily mean this will be backed by physical
> memory. If there is not enough physical memory to support SQL
> Server's requests, in addition to the other applications requesting
> memory on the box (including the OS itself), then part of that memory
> space will be backed by virtual memory, which, needless-to-say, is not
> a high-performance situation. The exception to this, which does not
> apply to you because you are playing with less than 4GB of physical
> memory, is AWE memory, which is always satisfied from physical memory
> (it is never swapped to disk).
> --
> *mike hodgson*
> http://sqlnerd.blogspot.com
>
> Robert wrote:
>

Friday, February 24, 2012

memory portion tied to -g switch of sqlservr

I want to know what this is virtual memory address space is . Where can i
understand more about this particular allocation and why just 256MB is given
for it ?
Just a bit confused
Bunch of good articles here:
http://blogs.msdn.com/slavao/
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
"Hassan" <hassanboy@.hotmail.com> wrote in message news:eW40%23lP4FHA.2640@.TK2MSFTNGP09.phx.gbl...
>I want to know what this is virtual memory address space is . Where can i understand more about
>this particular allocation and why just 256MB is given for it ?
> Just a bit confused
>

memory portion tied to -g switch of sqlservr

I want to know what this is virtual memory address space is . Where can i
understand more about this particular allocation and why just 256MB is given
for it ?
Just a bit confusedBunch of good articles here:
http://blogs.msdn.com/slavao/
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
"Hassan" <hassanboy@.hotmail.com> wrote in message news:eW40%23lP4FHA.2640@.TK2MSFTNGP09.phx.g
bl...
>I want to know what this is virtual memory address space is . Where can i u
nderstand more about
>this particular allocation and why just 256MB is given for it ?
> Just a bit confused
>

memory portion tied to -g switch of sqlservr

I want to know what this is virtual memory address space is . Where can i
understand more about this particular allocation and why just 256MB is given
for it ?
Just a bit confusedBunch of good articles here:
http://blogs.msdn.com/slavao/
--
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
"Hassan" <hassanboy@.hotmail.com> wrote in message news:eW40%23lP4FHA.2640@.TK2MSFTNGP09.phx.gbl...
>I want to know what this is virtual memory address space is . Where can i understand more about
>this particular allocation and why just 256MB is given for it ?
> Just a bit confused
>