Re: Memory Issues
- From: Sann <Sann@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 19 Sep 2008 10:27:03 -0700
Russell,
I changed the MAX setting to 1 GB.
Started one of the releasing processes in the finance software - had to
change the MIN setting from 1024 to 0 to "boost" the SQL performance. MAX is
still 1024. After SQL switched from doing paging to RAM, the paging dropped,
but not to a desired level: from a 100 it went to ~60-80. With value 3GB in
MAX setting paging is about 8-10 on a scale 100. So basically any change in
memory setting would improve SQL performance even I change MIN or MAX value
by 1 MB. And still ~1 GB is available.
The article you recommended honestly is too complicated/confusing to
understand and my Exchange runs smoothly regardless SQL is running slow or
normal, hence I'm not going to mess with it. Instead I will try to play more
with SQL (memory) settings.
Thanks again,
"Russell Fields" wrote:
Sann,.
Obviously I have never run your particular environment and I agree with you
that Microsoft (pre-2008) has stated that SBS will support running both
Exchange and SQL Server. And, FWIW, I figured that your Exchange was
probably small.
Nonetheless, you identified memory problems and large amounts of paging.
So, you have symptoms of a problem.
Regarding Exchange memory use, it sounds more limited than SQL Server, but
you can look at this KB article:
http://support.microsoft.com/kb/815372
Interestingly, this article specifically comments: "Because Microsoft Small
Business Server installs as an integrated domain controller and Exchange
server, we also do not recommend setting the /3GB switch when you run
Exchange Server 2003 in a Small Business Server environment."
You also identified SQL Server as the process doing the paging, so it is
probably (my assumption) SQL Server that is struggling with its memory
needs. So, try setting its Max memory settings to 1GB. It will use more
than that, because not all memory use comes from that block, but give that a
try. If this avoids paging, then you are OK again. Small SQL Server
installations will work better if they limit their memory use enough not to
impact the operating system.
So, I am not in the position to defend Small Business Server nor Mr Cherry.
I just know from you that you have memory problems. I hope that this helps
a little bit.
RLF
"Sann" <Sann@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:510F079A-BAA2-4F2B-8E9A-1BCCC8B90219@xxxxxxxxxxxxxxxx
Hello Russell,
Thanks for your prompt reply.
Even MS recommends to run Exchange and SQL on different machines, I would
desagree with it because of 2 reasons: SQL and Exchange DBs are relatively
small (in my case) and there is always free RAM memory. And MS claims that
they specifically designed SBS to run SQL and Exchange on one box.
Guidance says that SQL is smart enough guy to optimally utilize the RAM:
when necessary it will consume needed amount of memory and then release it
when the RAM is not needed.
Per Denny Cherry you are suggesting to limit SQL Server to under 1GB. That
applys to the problem that he was responding to. (The guy, who asked the
question, has mentioned that his SBS has only 2 GB of RAM, mine has 4GB)
How do you adjust the memory usage setting on Exchange?
My Exchange uses only ~600 MB of RAM at all times. SQL - ~1.7GB. There is
always ~1 GB of available RAM out of 4. I can't understand why SQL is
trying
to use virtual memory, not the rest of the memory + virtual if needed
during
only some transactions? Maybe the problem is in the poor-designed
software?
I use Performance Monitor to find out if Exchange suffering to run, when I
release "stuff" in my accounting software, I checked before and after I
adjust the memory settings and there are no troubles.
In other words, Exchange feels Ok running next to SQL.
"Russell Fields" wrote:
Sann,
Well, you are running two potentially large database systems, SQL Server
and
Exchange, both of which want lots of resources. So, I am inclined to
think
that the two servers are battling for access to memory. (And maybe I/O
as
well.)
You should limit the amount of memory that both SQL Server and Exchange
Server use to a maximum amount that lets them coexist peacefully. (Denny
Cherry (below) recommends limiting SQL Server to under 1 GB, but I have
no
personal experience with the best memory settings for this combination.)
See your SBS instructions as well as the SQL Server and Exchange guidance
on
memory settings.
You might find this note interesting:
http://technet.microsoft.com/en-us/library/aa997379(EXCHG.80).aspx
Running SQL Server on the same computer as a production Exchange mailbox
server is not recommended. Both SQL Server and Exchange mailbox servers
consume a large amount of memory and disk resources to operate optimally.
Of course, that article also goes on to say that Small Business Server is
optimized to handle this case. However, Denny Cherry disagrees:
http://searchsqlserver.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid87_gci1304934,00.html
Although you are running SQL Server 2005, you also might find it
interesting
to look at the Small Business Server 2008, which specifies a second
server
when running SQL Server.
http://www.microsoft.com/sbs/en/us/editions-overview.aspx
So, bottom line: Try to keep the two servers from battling for memory.
If
that does not work, look into getting a second server.
RLF
"Sann" <Sann@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5DCDF5C3-6665-4798-9A6F-AB69F00DE2BC@xxxxxxxxxxxxxxxx
Hello All!
Recently I've installed SQL 2005 Workgroup edition on SBS 2003 R2 box
that
is also running Exchange, configured it - most of the settings I left
by
default, except the Server Memory Options settings: I configured the
MAX
to
3GB.
And here is the weird behavior: when the user, for example, releases
accrued
receipts (apparently it is a very resource consuming task in our
finance
software), the server performance reduces noticeably (imagine yourself
working on windows XP SP3 with 64MB of RAM) and it is because the SQL
server
is starting to utilize the virtual memory instead of RAM. (To figure
that
out
I ran Performance Monitor and the Avg.Disk Queue Length counter was
close
to
a 100, when the processor remained almost idle and I still have 1 GB of
available RAM)
And here is the thing: While the release operation is in progress, I go
to
the Server Memory configuration screen, change the MIN setting from 0
to
2GB,
hit OK and the server speeds up to the level where it is supposed to
be.
Next
time the user starts releasing other stuff, it slows down again due to
the
same reason. And I go back to the Server Memory configuration screen,
change
again the MIN setting, for example, back to 0 and it triggers the
server
to
speed up again and the Avg.Disk Queue Length counter in Performance
Monitor
goes from a 100 to 8-10 - where it's supposed to be.
In other words, whenever the SQL freaks out, I have to "make" it to use
RAM
memory by changing MIN/MAX values in Server Memory configuration screen
which
is "slightly" not convenient for the SQL administrators.
When users input data, run reports the server performance meets
expectations.
Thanks in in advance!
Server hardware configuration:
2 x 4 3GHz processors
4 GB RAM and I it always has about 1GB of available memory.
6 SAS in RAID10
- References:
- Memory Issues
- From: Sann
- Re: Memory Issues
- From: Russell Fields
- Re: Memory Issues
- From: Sann
- Re: Memory Issues
- From: Russell Fields
- Memory Issues
- Prev by Date: SQL 2005 Failure Message
- Next by Date: SQL Server 2008 (Dev Ed) Install Failure
- Previous by thread: Re: Memory Issues
- Next by thread: Collation conflict
- Index(es):
Relevant Pages
|