2009-08-17 12 views
22

Estoy depurando una de mis aplicaciones y noté que la RAM en mi caja de SQL Server 2005 x64 (que se ejecuta en un Windows 2003 R2 x64) está vinculada e incluso va al archivo de paginación.¿Cuánta RAM está usando realmente SQL Server?

Entiendo que SQL Server 2005 x64 solo capta todo lo que puede, por lo que esto podría ser normal (???). ¿Cómo puedo verificar cuánta memoria está usando en realidad?

+1

No es ésta una pregunta ServerFault? –

+0

select * from sys.dm_os_process_memory – user1005462

Respuesta

22

Debe ejecutar Perfmon (Inicio-> panel de control-> herramientas administrativas-> rendimiento). Los contadores que desea, creo, están en SQL Server: Administrador de memoria. La memoria del servidor de destino es cuánto se puede tomar si es necesario, la memoria total del servidor es la cantidad que está utilizando actualmente. Si haces clic en Explicar, se abrirá un cuadro con los detalles.

Por defecto está desactivado, y debería usar todo menos un par de GB de memoria (lo deja para el sistema operativo). Sin embargo, hay varios errores y fugas de memoria que pueden causar que entre en paginación.

+0

¿A qué errores se está refiriendo? Existen muchos motivos legítimos por los cuales SQL podría necesitar una página, uno de los cuales es si el servidor no tiene memoria física (RAM). Si no hay memoria RAM disponible, SQL no tiene más remedio que usar el disco. –

+0

dbcc memorystatus –

+1

Todo lo que hace por mí es mostrar un gráfico que es continuamente '100', lo cual es imposible. –

-4
  1. en Inicio -> Ejecutar -> Monitor de rendimiento
  2. mirada a los millones y millones de contadores que SQL Server instala
+8

downvote porque hay tantos contadores de rendimiento sql que no están relacionados con la memoria y mirar "the zillions" no ayuda a responder la pregunta. – Brian

+0

Sigue siendo una buena pista. – Mariusz

2

Usted debe explorar \ contadores de rendimiento de memoria Administrador de SQL Server.

9

relacionada a su pregunta, es posible que desee considerar limitar la cantidad de memoria RAM de SQL Server tiene acceso a si usted lo está utilizando en un entorno compartido, es decir, en el servidor que aloja más que SQL Server:

  1. Inicio> Todos los programas> Microsoft SQL Server 2005: SQL Server Management Studio.
  2. Conéctese usando cualquier cuenta que tenga derechos de administrador.
  3. Haga clic con el botón derecho en la base de datos> Propiedades.
  4. Seleccione "Memoria" en el panel izquierdo y luego cambie las "Opciones de memoria del servidor" a lo que crea que debería asignarse a SQL Server.

Esto ayudará a evitar que SQL Server consuma toda la memoria RAM del servidor.

0

Diríjase a Management Studio y ejecute sp_helpdb <db_name>, le dará un uso de disco detallado para la base de datos especificada. Al ejecutarlo sin ningún valor de parámetro se mostrará una lista de información de alto nivel para todas las bases de datos en la instancia.

+2

La pregunta era sobre el uso de la memoria (RAM), en lugar del uso del disco. – Mike

-2

La forma más sencilla de ver el uso de ram si tiene acceso RDP/consola sería simplemente iniciar el administrador de tareas: hacer clic en procesos, mostrar procesos de todos los usuarios, ordenar por RAM, esto le dará el uso de SQL.

Como se mencionó anteriormente, para disminuir el tamaño (que tendrá efecto inmediatamente, no se requiere reiniciar) iniciar el estudio de administración sql, hacer clic en el servidor, propiedades - memoria y disminuir el máximo. No hay un número exacto perfecto, pero asegúrese de que el servidor tenga ram libre para otras tareas.

Las respuestas sobre perfmon son correctas y deben utilizarse, pero no son un método tan obvio como el administrador de tareas en mi humilde opinión.

+0

Esto no funciona .. Muestra 300 Mb pero si reinicio el servidor SQL obtengo 8gb más memoria libre – Peter

+0

¿Tiene rutinas CLR quizás? Esos pueden usar ram y liberarse cuando se detiene sql. –

+0

No, no estamos usando rutinas clr .. – Peter

Cuestiones relacionadas