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

#6 Maximiliano D. A.
02/04/2004 - 16:59 | Informe spam
:-D, bueno pero no es tan asi Gux, a mi nunca me devolvio nada y lo he
saturado de forma intencional y hasta se ma ha colgado todo porque el
Servidor no tenia recursos de RAM, fijate sino el ejemplo de Adrian Garcia
que es lo que a mi tambien me pasa, claro ya te mostre el entorno no?

No se si es por el Windows
Version de Sql o que pero no actua como vos decis en ningun caso :(

No es que no te crea sino que a mi nunca me paso lo que vos decis :(, y tuve
que hacer muy bien el uso de la RAM porque se ponia estupido todo ;)

pd: tan mal me porto :( jeje




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







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
#7 Gustavo Larriera [MVP SQL]
02/04/2004 - 17:05 | Informe spam
Hola Adrian!

En lo que dices estoy más de acuerdo, ya que estás hablando de un escenario
donde hay otros servicios importantes sobre la misma máquina que SQL Server.

Muchisimos saludos
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.


"Adrian D. Garcia" wrote in message
news:
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
#8 Javier Loria
03/04/2004 - 20:47 | Informe spam
Hola:
El 90% de los servidores SQL que he configurado NO TIENEN configurada la
Memoria y trabajan de maravilla con el comportamiento Default, solamente los
servidores NO dedicados (no se olviden de IIS!!!), los que tienen el AWE
configurado, o los Cluster Activo/Activo tienen el MAX, algunos cuantos
tienen el MIN para que no inicien tan frios. En mi experiencia, funcionan de
maravilla y que no afectan al Sistema Operativo y eso que con frecuencia
tengo dudas de la arquitectura de la aplicacion que usan, con problemas de
bloqueos, cursores, tablas temporales, sqldinamico, etc.
Mi experiencia es similar a la de Gustavo.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Gustavo Larriera [MVP SQL] escribio:
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.



"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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida