dbTalk Databases Forums  

"server is out of memory" Error

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss "server is out of memory" Error in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
MurthyJ
 
Posts: n/a

Default "server is out of memory" Error - 07-05-2005 , 02:00 PM






We are on a 32-bit system with lots of memory (16G) supporting other
applications in addition to Analysis Services 2000 SP3 enterprise edition.
The data soruce is Oracle. We have a single database with 6 cubes and each
with many partitions. We also have many dimensions (all shared), one
dimension (with multiple hierarchies) is a large dimension (disk size close
to 100MB).

While users are querying, about twice in the last month I found "The Server
is out of memory" error in the Event log after users complained of slowdown
or unresponsiveness.

The memory conservation threshold is set to 2GB (we haven't turned one /3GB
switch). I did go through the performance and operations guides. There was
some local opposition to going with /3GB switch and I don't fully understand
it. We are running an ASP.Net application on the same machine that reports
data from the cubes. Ideally we should move to 64-bit, but as stated in teh
document, there are other issues to consider before we migrate.

In the meantime, is there anything I can do to not get this error? Should I
reduce the high memory lower than 2GB (at the expense of losing query results
cache)?

Thanks for your help.
Murthy



Reply With Quote
  #2  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: "server is out of memory" Error - 07-05-2005 , 02:11 PM






In the AS Operations Guide, we point out that one of the additional
resources that folks don't always consider is that AS needs backing store
for its larger address space (this is because AS relies on OS control of
virtual memory; while the SQL RDBMS allocates memory at the physical page
level). Thus we recommend adding a second pagefile to the system. That could
be the problem you are encountering.

Another possibility is that you've set high memory too close to the actual
OS limit. I would lower it to 1.7GB. You need some room for the executable
itself and other uses of memory which are not included. Remember that high
and low memory are not really "allocations" in the strict sense, but really
"thresholds" which tell the msmdsrv service to start to do something when
they are crossed.. In this case, when the virtual memory usage of AS goes
above 1.7GB, the cleaner thread notices it and can start to trim back the
cache to the low memory limit. If the high memory is too close to 2GB, then
the OS may get notified *before* the cleaner thread does. You want to leave
yourself some room to let the cleaner thread do its thing.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote

Quote:
We are on a 32-bit system with lots of memory (16G) supporting other
applications in addition to Analysis Services 2000 SP3 enterprise edition.
The data soruce is Oracle. We have a single database with 6 cubes and each
with many partitions. We also have many dimensions (all shared), one
dimension (with multiple hierarchies) is a large dimension (disk size
close
to 100MB).

While users are querying, about twice in the last month I found "The
Server
is out of memory" error in the Event log after users complained of
slowdown
or unresponsiveness.

The memory conservation threshold is set to 2GB (we haven't turned one
/3GB
switch). I did go through the performance and operations guides. There was
some local opposition to going with /3GB switch and I don't fully
understand
it. We are running an ASP.Net application on the same machine that reports
data from the cubes. Ideally we should move to 64-bit, but as stated in
teh
document, there are other issues to consider before we migrate.

In the meantime, is there anything I can do to not get this error? Should
I
reduce the high memory lower than 2GB (at the expense of losing query
results
cache)?

Thanks for your help.
Murthy





Reply With Quote
  #3  
Old   
MurthyJ
 
Posts: n/a

Default Re: "server is out of memory" Error - 07-06-2005 , 05:08 PM



Thanks Dave. I will go ahead and implement both options you suggested.

I also noticed that the memory reported in teh Task Manager for msmdsrv.exe
is going up relatively quickly (as we added a lot of new users to our
system). Two quick questions:
- Is this a situation where I would also add the CleanerInterval registry
key to have the cleaner thread wake up often to cleanup?
- If I lower the memory conservation threshold, do I need to restart the
service?

Thanks again.
Murthy


"Dave Wickert [MSFT]" wrote:

Quote:
In the AS Operations Guide, we point out that one of the additional
resources that folks don't always consider is that AS needs backing store
for its larger address space (this is because AS relies on OS control of
virtual memory; while the SQL RDBMS allocates memory at the physical page
level). Thus we recommend adding a second pagefile to the system. That could
be the problem you are encountering.

Another possibility is that you've set high memory too close to the actual
OS limit. I would lower it to 1.7GB. You need some room for the executable
itself and other uses of memory which are not included. Remember that high
and low memory are not really "allocations" in the strict sense, but really
"thresholds" which tell the msmdsrv service to start to do something when
they are crossed.. In this case, when the virtual memory usage of AS goes
above 1.7GB, the cleaner thread notices it and can start to trim back the
cache to the low memory limit. If the high memory is too close to 2GB, then
the OS may get notified *before* the cleaner thread does. You want to leave
yourself some room to let the cleaner thread do its thing.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote in message
news:C5B6C9F3-67E0-44A2-AECD-AC1F9BA73D97 (AT) microsoft (DOT) com...
We are on a 32-bit system with lots of memory (16G) supporting other
applications in addition to Analysis Services 2000 SP3 enterprise edition.
The data soruce is Oracle. We have a single database with 6 cubes and each
with many partitions. We also have many dimensions (all shared), one
dimension (with multiple hierarchies) is a large dimension (disk size
close
to 100MB).

While users are querying, about twice in the last month I found "The
Server
is out of memory" error in the Event log after users complained of
slowdown
or unresponsiveness.

The memory conservation threshold is set to 2GB (we haven't turned one
/3GB
switch). I did go through the performance and operations guides. There was
some local opposition to going with /3GB switch and I don't fully
understand
it. We are running an ASP.Net application on the same machine that reports
data from the cubes. Ideally we should move to 64-bit, but as stated in
teh
document, there are other issues to consider before we migrate.

In the meantime, is there anything I can do to not get this error? Should
I
reduce the high memory lower than 2GB (at the expense of losing query
results
cache)?

Thanks for your help.
Murthy






Reply With Quote
  #4  
Old   
Dave Wickert [MSFT]
 
Posts: n/a

Default Re: "server is out of memory" Error - 07-06-2005 , 05:21 PM



Sorry, I've never played with the cleaner thread scheduling.
In SQL Server 2000, all of the memory parameters are stored in the registry
and need a service restart to be reread.

BTW: This isn't necessarily true with SQL Server 2005. There are many
parameters which can be reset from the config.ini file and the service
detects that the file has been edited. However, it turns out the memory is
one of those which need a service restart even on Yukon :-)

--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote

Quote:
Thanks Dave. I will go ahead and implement both options you suggested.

I also noticed that the memory reported in teh Task Manager for
msmdsrv.exe
is going up relatively quickly (as we added a lot of new users to our
system). Two quick questions:
- Is this a situation where I would also add the CleanerInterval registry
key to have the cleaner thread wake up often to cleanup?
- If I lower the memory conservation threshold, do I need to restart the
service?

Thanks again.
Murthy


"Dave Wickert [MSFT]" wrote:

In the AS Operations Guide, we point out that one of the additional
resources that folks don't always consider is that AS needs backing store
for its larger address space (this is because AS relies on OS control of
virtual memory; while the SQL RDBMS allocates memory at the physical page
level). Thus we recommend adding a second pagefile to the system. That
could
be the problem you are encountering.

Another possibility is that you've set high memory too close to the
actual
OS limit. I would lower it to 1.7GB. You need some room for the
executable
itself and other uses of memory which are not included. Remember that
high
and low memory are not really "allocations" in the strict sense, but
really
"thresholds" which tell the msmdsrv service to start to do something when
they are crossed.. In this case, when the virtual memory usage of AS goes
above 1.7GB, the cleaner thread notices it and can start to trim back the
cache to the low memory limit. If the high memory is too close to 2GB,
then
the OS may get notified *before* the cleaner thread does. You want to
leave
yourself some room to let the cleaner thread do its thing.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no
rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote in message
news:C5B6C9F3-67E0-44A2-AECD-AC1F9BA73D97 (AT) microsoft (DOT) com...
We are on a 32-bit system with lots of memory (16G) supporting other
applications in addition to Analysis Services 2000 SP3 enterprise
edition.
The data soruce is Oracle. We have a single database with 6 cubes and
each
with many partitions. We also have many dimensions (all shared), one
dimension (with multiple hierarchies) is a large dimension (disk size
close
to 100MB).

While users are querying, about twice in the last month I found "The
Server
is out of memory" error in the Event log after users complained of
slowdown
or unresponsiveness.

The memory conservation threshold is set to 2GB (we haven't turned one
/3GB
switch). I did go through the performance and operations guides. There
was
some local opposition to going with /3GB switch and I don't fully
understand
it. We are running an ASP.Net application on the same machine that
reports
data from the cubes. Ideally we should move to 64-bit, but as stated in
teh
document, there are other issues to consider before we migrate.

In the meantime, is there anything I can do to not get this error?
Should
I
reduce the high memory lower than 2GB (at the expense of losing query
results
cache)?

Thanks for your help.
Murthy








Reply With Quote
  #5  
Old   
MurthyJ
 
Posts: n/a

Default Re: "server is out of memory" Error - 08-01-2005 , 10:46 AM



I have been monitoring memory usage and I found something strange. Our
application consists of a customized version of the OWC 11 where users
perform adhoc analysis and a web application that connects mainly using
ADOMD, ADOMD.Net.

We log information when users submit queries through both apps. Over a
weekend, I noticed that there were no active users, but five of the users had
their OWC pages up on their desktops (didn't log off from their desktops).
However, the memory usage I was observing on the server in task manager for
msmdsrv.exe kept going up through the weekend in 4KB chunks every minute or
so, and it never stopped. I restarted the service before it went over the
High Memory limit, otherwise, I would have got the Out of Memory error again.

Is this some sort of memory leak? Will SP4 fix the problem? No processing
occurred.

Thanks again
Murthy


"Dave Wickert [MSFT]" wrote:

Quote:
Sorry, I've never played with the cleaner thread scheduling.
In SQL Server 2000, all of the memory parameters are stored in the registry
and need a service restart to be reread.

BTW: This isn't necessarily true with SQL Server 2005. There are many
parameters which can be reset from the config.ini file and the service
detects that the file has been edited. However, it turns out the memory is
one of those which need a service restart even on Yukon :-)

--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote in message
news:9A65DC7B-D260-4C23-8BDB-3701A1CA400F (AT) microsoft (DOT) com...
Thanks Dave. I will go ahead and implement both options you suggested.

I also noticed that the memory reported in teh Task Manager for
msmdsrv.exe
is going up relatively quickly (as we added a lot of new users to our
system). Two quick questions:
- Is this a situation where I would also add the CleanerInterval registry
key to have the cleaner thread wake up often to cleanup?
- If I lower the memory conservation threshold, do I need to restart the
service?

Thanks again.
Murthy


"Dave Wickert [MSFT]" wrote:

In the AS Operations Guide, we point out that one of the additional
resources that folks don't always consider is that AS needs backing store
for its larger address space (this is because AS relies on OS control of
virtual memory; while the SQL RDBMS allocates memory at the physical page
level). Thus we recommend adding a second pagefile to the system. That
could
be the problem you are encountering.

Another possibility is that you've set high memory too close to the
actual
OS limit. I would lower it to 1.7GB. You need some room for the
executable
itself and other uses of memory which are not included. Remember that
high
and low memory are not really "allocations" in the strict sense, but
really
"thresholds" which tell the msmdsrv service to start to do something when
they are crossed.. In this case, when the virtual memory usage of AS goes
above 1.7GB, the cleaner thread notices it and can start to trim back the
cache to the low memory limit. If the high memory is too close to 2GB,
then
the OS may get notified *before* the cleaner thread does. You want to
leave
yourself some room to let the cleaner thread do its thing.
--
Dave Wickert [MSFT]
dwickert (AT) online (DOT) microsoft.com
Program Manager
BI SystemsTeam
SQL BI Product Unit (Analysis Services)
--
This posting is provided "AS IS" with no warranties, and confers no
rights.


"MurthyJ" <MurthyJ (AT) discussions (DOT) microsoft.com> wrote in message
news:C5B6C9F3-67E0-44A2-AECD-AC1F9BA73D97 (AT) microsoft (DOT) com...
We are on a 32-bit system with lots of memory (16G) supporting other
applications in addition to Analysis Services 2000 SP3 enterprise
edition.
The data soruce is Oracle. We have a single database with 6 cubes and
each
with many partitions. We also have many dimensions (all shared), one
dimension (with multiple hierarchies) is a large dimension (disk size
close
to 100MB).

While users are querying, about twice in the last month I found "The
Server
is out of memory" error in the Event log after users complained of
slowdown
or unresponsiveness.

The memory conservation threshold is set to 2GB (we haven't turned one
/3GB
switch). I did go through the performance and operations guides. There
was
some local opposition to going with /3GB switch and I don't fully
understand
it. We are running an ASP.Net application on the same machine that
reports
data from the cubes. Ideally we should move to 64-bit, but as stated in
teh
document, there are other issues to consider before we migrate.

In the meantime, is there anything I can do to not get this error?
Should
I
reduce the high memory lower than 2GB (at the expense of losing query
results
cache)?

Thanks for your help.
Murthy









Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.