Incremento uso de memoria por sqlservr.exe

02/04/2004 - 13:37 por Manel Serrano | Informe spam
Hola a todos,

A ver... me ocurre algo realmente curioso,

El caso es que revisando el administrador de tareas he observado que el
"sqlservr.exe" incrementa el consumo de memoria de una forma alarmante en
cada consulta que ejecuto o inserción de datos, hasta el punto de llegar a
bloquear el servidor. Sirva como dato que al iniciar el servidor consume
unas 30 mb y ha llegado a consumir unos 330 mb.

¿Alguien tiene idea de que es lo que está produciendo esto?

Gracias de antemano a todos

un saludo

manel

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
02/04/2004 - 14:44 | Informe spam
Hola, bueno Sql consume memoria y luego no la devuelve al SO :( por eso es
importante tener muy pero muy bien configurado las propiedades de memoria de
tu Servidor SqlServer, yo por regla le dejo solo usar hasta un maximo de 85%
del total de mi ram, el resto se lo doy al SO :-D

Claro esto que te digo es en un servidor donde solo tengo SqlServer, de
tener mas cosas habria que hacer otro analisis ;)

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Manel Serrano" escribió en el mensaje
news:
Hola a todos,

A ver... me ocurre algo realmente curioso,

El caso es que revisando el administrador de tareas he observado que el
"sqlservr.exe" incrementa el consumo de memoria de una forma alarmante en
cada consulta que ejecuto o inserción de datos, hasta el punto de llegar a
bloquear el servidor. Sirva como dato que al iniciar el servidor consume
unas 30 mb y ha llegado a consumir unos 330 mb.

¿Alguien tiene idea de que es lo que está produciendo esto?

Gracias de antemano a todos

un saludo

manel







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP SQL]
02/04/2004 - 15:28 | Informe spam
No estoy de acuerdo con eso de que "Sql consume memoria y luego no la
devuelve al SO". Justamente uno de los principales cambios que se le
hicieron al motor relacional fueron para que el ajuste dinámico de memoria
de SQL Server fuera cooperativo con el sistema operativo.

Lo que es habitual sí es que una aplicación o una query mal programada (por
ejemplo, una que haga muchos bloqueos o que cree objetos temporales) obligue
al SQL Server a usar mucha memoria, lo que también provoca paginación del
sistema operativo.

En los casos donde puede ser necesario hacer fine-tuning del uso de memoria
es cuando el SQL Server debe coexistir con ciertas aplicaciones (Exchange es
un ejemplo de servicio que se recomienda no esté en el mismo servidor que
SQL, por ejemplo, debido a la comptenecia mutua que hacen por el uso de
memoria).

De los Books Online:

When SQL Server is using memory dynamically, it queries the system
periodically to determine the amount of free physical memory available. SQL
Server grows or shrinks the buffer cache to keep free physical memory
between 4 MB and 10 MB depending on server activity. This prevents Microsoft
Windows NT® 4.0 or Windows® 2000 from paging. If there is less memory free,
SQL Server releases memory to Windows NT 4.0 or Windows 2000 that usually
goes on the free list. If there is more memory free, SQL Server recommits
memory to the buffer cache. SQL Server adds memory to the buffer cache only
when its workload requires more memory; a server at rest does not grow its
buffer cache.
Allowing SQL Server to use memory dynamically is the recommended
configuration; however, you can set the memory options manually and override
SQL Server's ability to use memory dynamically. Before you set the amount of
memory for SQL Server, determine the appropriate memory setting by
subtracting from the total physical memory the memory required for Windows
NT 4.0 or Windows 2000 and any other instances of SQL Server (and other
system uses, if the computer is not wholly dedicated to SQL Server). This is
the maximum amount of memory you can assign to SQL Server.


Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Books Online (BOL) de SQL Server disponibles en:
http://www.microsoft.com/sql/techin.../books.asp

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in message
news:
Hola, bueno Sql consume memoria y luego no la devuelve al SO :( por eso es
importante tener muy pero muy bien configurado las propiedades de memoria


de
tu Servidor SqlServer, yo por regla le dejo solo usar hasta un maximo de


85%
del total de mi ram, el resto se lo doy al SO :-D

Claro esto que te digo es en un servidor donde solo tengo SqlServer, de
tener mas cosas habria que hacer otro analisis ;)

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Manel Serrano" escribió en el mensaje
news:
> Hola a todos,
>
> A ver... me ocurre algo realmente curioso,
>
> El caso es que revisando el administrador de tareas he observado que el
> "sqlservr.exe" incrementa el consumo de memoria de una forma alarmante


en
> cada consulta que ejecuto o inserción de datos, hasta el punto de llegar


a
> bloquear el servidor. Sirva como dato que al iniciar el servidor consume
> unas 30 mb y ha llegado a consumir unos 330 mb.
>
> ¿Alguien tiene idea de que es lo que está produciendo esto?
>
> Gracias de antemano a todos
>
> un saludo
>
> manel
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004


Respuesta Responder a este mensaje
#3 Maximiliano D. A.
02/04/2004 - 15:51 | Informe spam
Que haces Gux!! lo que decis es mitad verdad mitad falso!! verdad porque lo
dice el manual , falso porque en la realidad no es tan asi.

Y lo probe mas de mil veces, eje:

Servidor 2GB RAM
SO: Windows NT 4.0 Server
Sql: 2000 Std SP3

Memoria maxima 1.8GB

Memoria minima 64MB

Bien lleno la ram o sea hago que Sql la consuma, saco a todos los usuarios y
sorpresa!! no baja chee :(


;) o sea el manual dice eso pero a mi en ninguna maquina me paso eso, sino
todo lo contrario, si no matas el servicio no livera RAM al SO

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:
No estoy de acuerdo con eso de que "Sql consume memoria y luego no la
devuelve al SO". Justamente uno de los principales cambios que se le
hicieron al motor relacional fueron para que el ajuste dinámico de memoria
de SQL Server fuera cooperativo con el sistema operativo.

Lo que es habitual sí es que una aplicación o una query mal programada


(por
ejemplo, una que haga muchos bloqueos o que cree objetos temporales)


obligue
al SQL Server a usar mucha memoria, lo que también provoca paginación del
sistema operativo.

En los casos donde puede ser necesario hacer fine-tuning del uso de


memoria
es cuando el SQL Server debe coexistir con ciertas aplicaciones (Exchange


es
un ejemplo de servicio que se recomienda no esté en el mismo servidor que
SQL, por ejemplo, debido a la comptenecia mutua que hacen por el uso de
memoria).

De los Books Online:

When SQL Server is using memory dynamically, it queries the system
periodically to determine the amount of free physical memory available.


SQL
Server grows or shrinks the buffer cache to keep free physical memory
between 4 MB and 10 MB depending on server activity. This prevents


Microsoft
Windows NT® 4.0 or Windows® 2000 from paging. If there is less memory


free,
SQL Server releases memory to Windows NT 4.0 or Windows 2000 that usually
goes on the free list. If there is more memory free, SQL Server recommits
memory to the buffer cache. SQL Server adds memory to the buffer cache


only
when its workload requires more memory; a server at rest does not grow its
buffer cache.
Allowing SQL Server to use memory dynamically is the recommended
configuration; however, you can set the memory options manually and


override
SQL Server's ability to use memory dynamically. Before you set the amount


of
memory for SQL Server, determine the appropriate memory setting by
subtracting from the total physical memory the memory required for Windows
NT 4.0 or Windows 2000 and any other instances of SQL Server (and other
system uses, if the computer is not wholly dedicated to SQL Server). This


is
the maximum amount of memory you can assign to SQL Server.


Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Books Online (BOL) de SQL Server disponibles en:
http://www.microsoft.com/sql/techin.../books.asp

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y


no
otorga ningún derecho.


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in


message
news:
> Hola, bueno Sql consume memoria y luego no la devuelve al SO :( por eso


es
> importante tener muy pero muy bien configurado las propiedades de


memoria
de
> tu Servidor SqlServer, yo por regla le dejo solo usar hasta un maximo de
85%
> del total de mi ram, el resto se lo doy al SO :-D
>
> Claro esto que te digo es en un servidor donde solo tengo SqlServer, de
> tener mas cosas habria que hacer otro analisis ;)
>
> Bye
>
>
> Salu2
> Maxi
> Buenos Aires Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> MSN:
>
>
> "Manel Serrano" escribió en el mensaje
> news:
> > Hola a todos,
> >
> > A ver... me ocurre algo realmente curioso,
> >
> > El caso es que revisando el administrador de tareas he observado que


el
> > "sqlservr.exe" incrementa el consumo de memoria de una forma alarmante
en
> > cada consulta que ejecuto o inserción de datos, hasta el punto de


llegar
a
> > bloquear el servidor. Sirva como dato que al iniciar el servidor


consume
> > unas 30 mb y ha llegado a consumir unos 330 mb.
> >
> > ¿Alguien tiene idea de que es lo que está produciendo esto?
> >
> > Gracias de antemano a todos
> >
> > un saludo
> >
> > manel
> >
> >
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
>
>







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
Respuesta Responder a este mensaje
#4 Adrian D. Garcia
02/04/2004 - 16:41 | Informe spam
Coincido con Maximiliano,
SQL Server mientras tenga memoria disponible crece pero luego no la libera
tan facilmente ya que no detecta en la forma que uno espera que el sistema
se esta quedando con poca memoria para liberar sus buffers y paginas que
tienen poco uso.
Actualmente me enfrente con el mismo problema en 3 servidores que convivian
una aplicacion ASP.NET, IIS y SQL Server en donde SQL Server se llegaba a
"comer" mas del 70% de la memoria generando errores de "Out of Memory" en la
aplicaicon ASP.NET. El SQL Server se utilizaba en este caso para realizar
transacciones y no consultas y estaba ocupando mas de 1GB de RAM para el
solo.

Saludos

Adrian D. Garcia
NDSoft
MCSD
"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> escribió en el
mensaje news:
Que haces Gux!! lo que decis es mitad verdad mitad falso!! verdad porque


lo
dice el manual , falso porque en la realidad no es tan asi.

Y lo probe mas de mil veces, eje:

Servidor 2GB RAM
SO: Windows NT 4.0 Server
Sql: 2000 Std SP3

Memoria maxima 1.8GB

Memoria minima 64MB

Bien lleno la ram o sea hago que Sql la consuma, saco a todos los usuarios


y
sorpresa!! no baja chee :(

>
;) o sea el manual dice eso pero a mi en ninguna maquina me paso eso, sino
todo lo contrario, si no matas el servicio no livera RAM al SO

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:
> No estoy de acuerdo con eso de que "Sql consume memoria y luego no la
> devuelve al SO". Justamente uno de los principales cambios que se le
> hicieron al motor relacional fueron para que el ajuste dinámico de


memoria
> de SQL Server fuera cooperativo con el sistema operativo.
>
> Lo que es habitual sí es que una aplicación o una query mal programada
(por
> ejemplo, una que haga muchos bloqueos o que cree objetos temporales)
obligue
> al SQL Server a usar mucha memoria, lo que también provoca paginación


del
> sistema operativo.
>
> En los casos donde puede ser necesario hacer fine-tuning del uso de
memoria
> es cuando el SQL Server debe coexistir con ciertas aplicaciones


(Exchange
es
> un ejemplo de servicio que se recomienda no esté en el mismo servidor


que
> SQL, por ejemplo, debido a la comptenecia mutua que hacen por el uso de
> memoria).
>
> De los Books Online:
>
> When SQL Server is using memory dynamically, it queries the system
> periodically to determine the amount of free physical memory available.
SQL
> Server grows or shrinks the buffer cache to keep free physical memory
> between 4 MB and 10 MB depending on server activity. This prevents
Microsoft
> Windows NT® 4.0 or Windows® 2000 from paging. If there is less memory
free,
> SQL Server releases memory to Windows NT 4.0 or Windows 2000 that


usually
> goes on the free list. If there is more memory free, SQL Server


recommits
> memory to the buffer cache. SQL Server adds memory to the buffer cache
only
> when its workload requires more memory; a server at rest does not grow


its
> buffer cache.
> Allowing SQL Server to use memory dynamically is the recommended
> configuration; however, you can set the memory options manually and
override
> SQL Server's ability to use memory dynamically. Before you set the


amount
of
> memory for SQL Server, determine the appropriate memory setting by
> subtracting from the total physical memory the memory required for


Windows
> NT 4.0 or Windows 2000 and any other instances of SQL Server (and other
> system uses, if the computer is not wholly dedicated to SQL Server).


This
is
> the maximum amount of memory you can assign to SQL Server.
>
>
> Gustavo Larriera, MVP-SQL, MCSE
> Uruguay LatAm
>
> Books Online (BOL) de SQL Server disponibles en:
> http://www.microsoft.com/sql/techin.../books.asp
>
> Este mensaje se proporciona "como está" sin garantías de ninguna clase,


y
no
> otorga ningún derecho.
>
>
> "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
message
> news:
> > Hola, bueno Sql consume memoria y luego no la devuelve al SO :( por


eso
es
> > importante tener muy pero muy bien configurado las propiedades de
memoria
> de
> > tu Servidor SqlServer, yo por regla le dejo solo usar hasta un maximo


de
> 85%
> > del total de mi ram, el resto se lo doy al SO :-D
> >
> > Claro esto que te digo es en un servidor donde solo tengo SqlServer,


de
> > tener mas cosas habria que hacer otro analisis ;)
> >
> > Bye
> >
> >
> > Salu2
> > Maxi
> > Buenos Aires Argentina
> > Desarrollador Microsoft 3 Estrellas .NET
> > [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> > MSN:
> >
> >
> > "Manel Serrano" escribió en el mensaje
> > news:
> > > Hola a todos,
> > >
> > > A ver... me ocurre algo realmente curioso,
> > >
> > > El caso es que revisando el administrador de tareas he observado que
el
> > > "sqlservr.exe" incrementa el consumo de memoria de una forma


alarmante
> en
> > > cada consulta que ejecuto o inserción de datos, hasta el punto de
llegar
> a
> > > bloquear el servidor. Sirva como dato que al iniciar el servidor
consume
> > > unas 30 mb y ha llegado a consumir unos 330 mb.
> > >
> > > ¿Alguien tiene idea de que es lo que está produciendo esto?
> > >
> > > Gracias de antemano a todos
> > >
> > > un saludo
> > >
> > > manel
> > >
> > >
> >
> >
> >
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
> >
> >
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004


Respuesta Responder a este mensaje
#5 Gustavo Larriera [MVP SQL]
02/04/2004 - 16:50 | Informe spam
Cómo estás Maxi!!! todo bien por acá...

El tema es asi, en pocas palabras: La memoria usada no es liberada
inmediatamente a menos que el SO necesite los recursos. Mientras no ocurra
eso, el SQL Server los mantiene por las dudas. Pero podés estar seguro que
reacciona cooperativamente si el SO requiere.

Te lo puedo afirmar con cientos de casos de soporte técnico que debo tratar
dia a día en data centers de muy alto porte.

Un abrazo, portate bien :-)
gux

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Books Online (BOL) de SQL Server disponibles en:
http://www.microsoft.com/sql/techin.../books.asp

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in message
news:
Que haces Gux!! lo que decis es mitad verdad mitad falso!! verdad porque


lo
dice el manual , falso porque en la realidad no es tan asi.

Y lo probe mas de mil veces, eje:

Servidor 2GB RAM
SO: Windows NT 4.0 Server
Sql: 2000 Std SP3

Memoria maxima 1.8GB

Memoria minima 64MB

Bien lleno la ram o sea hago que Sql la consuma, saco a todos los usuarios


y
sorpresa!! no baja chee :(

>
;) o sea el manual dice eso pero a mi en ninguna maquina me paso eso, sino
todo lo contrario, si no matas el servicio no livera RAM al SO

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Gustavo Larriera [MVP SQL]" escribió en el
mensaje news:
> No estoy de acuerdo con eso de que "Sql consume memoria y luego no la
> devuelve al SO". Justamente uno de los principales cambios que se le
> hicieron al motor relacional fueron para que el ajuste dinámico de


memoria
> de SQL Server fuera cooperativo con el sistema operativo.
>
> Lo que es habitual sí es que una aplicación o una query mal programada
(por
> ejemplo, una que haga muchos bloqueos o que cree objetos temporales)
obligue
> al SQL Server a usar mucha memoria, lo que también provoca paginación


del
> sistema operativo.
>
> En los casos donde puede ser necesario hacer fine-tuning del uso de
memoria
> es cuando el SQL Server debe coexistir con ciertas aplicaciones


(Exchange
es
> un ejemplo de servicio que se recomienda no esté en el mismo servidor


que
> SQL, por ejemplo, debido a la comptenecia mutua que hacen por el uso de
> memoria).
>
> De los Books Online:
>
> When SQL Server is using memory dynamically, it queries the system
> periodically to determine the amount of free physical memory available.
SQL
> Server grows or shrinks the buffer cache to keep free physical memory
> between 4 MB and 10 MB depending on server activity. This prevents
Microsoft
> Windows NT® 4.0 or Windows® 2000 from paging. If there is less memory
free,
> SQL Server releases memory to Windows NT 4.0 or Windows 2000 that


usually
> goes on the free list. If there is more memory free, SQL Server


recommits
> memory to the buffer cache. SQL Server adds memory to the buffer cache
only
> when its workload requires more memory; a server at rest does not grow


its
> buffer cache.
> Allowing SQL Server to use memory dynamically is the recommended
> configuration; however, you can set the memory options manually and
override
> SQL Server's ability to use memory dynamically. Before you set the


amount
of
> memory for SQL Server, determine the appropriate memory setting by
> subtracting from the total physical memory the memory required for


Windows
> NT 4.0 or Windows 2000 and any other instances of SQL Server (and other
> system uses, if the computer is not wholly dedicated to SQL Server).


This
is
> the maximum amount of memory you can assign to SQL Server.
>
>
> Gustavo Larriera, MVP-SQL, MCSE
> Uruguay LatAm
>
> Books Online (BOL) de SQL Server disponibles en:
> http://www.microsoft.com/sql/techin.../books.asp
>
> Este mensaje se proporciona "como está" sin garantías de ninguna clase,


y
no
> otorga ningún derecho.
>
>
> "Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in
message
> news:
> > Hola, bueno Sql consume memoria y luego no la devuelve al SO :( por


eso
es
> > importante tener muy pero muy bien configurado las propiedades de
memoria
> de
> > tu Servidor SqlServer, yo por regla le dejo solo usar hasta un maximo


de
> 85%
> > del total de mi ram, el resto se lo doy al SO :-D
> >
> > Claro esto que te digo es en un servidor donde solo tengo SqlServer,


de
> > tener mas cosas habria que hacer otro analisis ;)
> >
> > Bye
> >
> >
> > Salu2
> > Maxi
> > Buenos Aires Argentina
> > Desarrollador Microsoft 3 Estrellas .NET
> > [Maxi_accotto[arroba]speedy[punto]com[punto]ar
> > MSN:
> >
> >
> > "Manel Serrano" escribió en el mensaje
> > news:
> > > Hola a todos,
> > >
> > > A ver... me ocurre algo realmente curioso,
> > >
> > > El caso es que revisando el administrador de tareas he observado que
el
> > > "sqlservr.exe" incrementa el consumo de memoria de una forma


alarmante
> en
> > > cada consulta que ejecuto o inserción de datos, hasta el punto de
llegar
> a
> > > bloquear el servidor. Sirva como dato que al iniciar el servidor
consume
> > > unas 30 mb y ha llegado a consumir unos 330 mb.
> > >
> > > ¿Alguien tiene idea de que es lo que está produciendo esto?
> > >
> > > Gracias de antemano a todos
> > >
> > > un saludo
> > >
> > > manel
> > >
> > >
> >
> >
> >
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004
> >
> >
>
>



Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida