Error de inventario de SMS al escanear servidor con gran volumen de archivos

Mateo Gonzalez 40 Puntos de reputación
2026-08-18T14:11:49.42+00:00

El 17 de agosto ejecuté una tarea de inventario de SMS para escanear un servidor de archivos crítico a través del servicio Storage Migration Service.

El escaneo inició correctamente la fase preliminar, pero al procesar un volumen con más de 20 millones de archivos, se detuvo y falló inmediatamente arrojando una excepción de falta de memoria en SmsEngine.exe.

En el visor de eventos del servidor solo aparece un error crítico: excepción por memoria insuficiente (out-of-memory exception), provocando la caída del proceso SmsEngine.exe.

Sin embargo, en el panel de administración de SMS, en la sección de estado de las tareas, sigue apareciendo:

"Error en la tarea de inventario - Memoria insuficiente en SmsEngine.exe"

Como consecuencia, no puedo completar el inventario de datos ni proceder con las fases posteriores de migración de estos servidores.

Ya he comprobado que:

La cantidad total de archivos a procesar supera los 20 millones.

El servidor dispone de recursos físicos adicionales, pero el proceso agota su límite de memoria asignado.

El problema se reproduce cada vez que se reintenta el escaneo profundo.

¿Cómo podemos ajustar la asignación de memoria dinámica (heap memory allocation) y las opciones de multithreading para las tareas de inventario de SMS? Parece existir una limitación en los parámetros por defecto del motor al procesar grandes volúmenes de datos.

Windows para empresas | Windows 365 Business
0 comentarios No hay comentarios

Respuesta aceptada por el autor de la pregunta
Domic Vo 34,570 Puntos de reputación Asesor independiente
2026-08-19T09:21:24.6466667+00:00

Hola Mateo Gonzalez,

El error de memoria insuficiente en SmsEngine.exe durante la fase de inventario con más de 20 millones de archivos no se debe a falta de RAM física, sino a las limitaciones internas del motor de SMS en su asignación de heap y en la forma en que maneja el multithreading. Microsoft documenta que el Servicio de migración de almacenamiento no está optimizado para volúmenes con decenas de millones de objetos en una sola ejecución, y en esos casos el inventario debe dividirse en unidades más pequeñas. No existen parámetros soportados para ampliar manualmente el montón del proceso ni para ajustar el threading desde el registro o PowerShell; el motor usa límites fijos para evitar la corrupción de la memoria.

La práctica recomendada es segmentar el inventario en varios trabajos, por ejemplo dividiendo el volumen en subcarpetas críticas y ejecutando tareas independientes, de modo que cada ejecución procese un conjunto de archivos manejables. Otra opción es realizar un inventario preliminar con filtros (Include/Exclude) para reducir la carga y luego consolidar los resultados. Si el inventario completo de un único volumen es imprescindible, la única vía es escalar al Soporte de Microsoft, ya que se trata de una limitación de diseño del motor y puede requerir un hotfix o actualización del SMS.

Si mi respuesta es útil para usted, presione Aceptar la respuesta para apoyarme.

Gracias,

Domic.

¿Le resultó útil esta respuesta?

1 persona encontró esta respuesta útil.
0 comentarios No hay comentarios

0 respuestas adicionales

Ordenar por: Lo más útil

Su respuesta

Las respuestas pueden ser marcadas como Respuestas aceptadas por el autor de la pregunta, lo que indica a los usuarios que la respuesta resolvió su problema.