Id. de artículo: 126962 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E126962
Expandir todo | Contraer todo

Síntomas

Al ejecutar un número elevado de programas basados en Windows, el mensaje de error "Memoria insuficiente" aparece cuando intenta iniciar un nuevo programa o usar programas que ya se están ejecutando. Esto sucede aunque tenga suficiente memoria del archivo de paginación y física disponible.

Causa

Este comportamiento puede producirse si el montón del escritorio del subsistema WIN32 está agotado.

Nota: este problema se produce más a menudo en Windows NT 3.5, ya que el tamaño predeterminado del montón del escritorio es de 512 K. En Windows NT 3.1, el valor predeterminado es de 3072 K. Este valor se redujo para aumentar el rendimiento.

Solución

Importante Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. Sin embargo, la modificación incorrecta del Registro puede producir graves problemas. Por tanto, asegúrese de seguir estos pasos cuidadosamente. Para obtener mayor protección, realice una copia de seguridad del Registro antes de modificarlo. A continuación, puede restaurar el Registro si se produce algún problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Cómo realizar una copia de seguridad y restaurar el Registro en Windows
Para que podamos solucionar su problema, remítase a la sección "Solucionarlo en mi lugar". Si prefiere solucionar este problema usted mismo, vaya a la sección "Solucionarlo por mí mismo".

Solucionarlo en mi lugar



Para solucionar el problema de forma automática, haga clic en el vínculo Fix it o en el botón gráfico. Haga clic en Ejecutar en el cuadro de diálogo Descarga de archivos y, a continuación, siga los pasos del asistente de Fix it.

Solucionar este problema
Microsoft Fix it 50496

Notas
  • Este asistente podría estar sólo en inglés. Sin embargo, la solución automática también funciona con las otras versiones de idioma de Windows.
  • Si no está utilizando el equipo que tiene el problema, puede guardar la solución de reparación en una unidad flash o en un CD para posteriormente ejecutarla en el equipo con el problema.
  • Si de esta forma no se resolvió el problema, aumente la memoria del equipo.

A continuación, vaya a la sección "¿Esta información le ayudó a resolver su problema?".



Solucionarlo por mí mismo

Para solucionar el problema, aumente el tamaño del montón del escritorio:
  1. Ejecute el Editor del Registro (Regedt32.exe).
  2. Desde el subárbol
    HKEY_LOCAL_MACHINE
    , vaya a la siguiente clave:
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Seleccione el valor Windows.
  4. En el menú Edición, seleccione Cadena.
  5. Aumente el valor del parámetro SharedSection.

    Para Windows NT:
    Dicho parámetro especifica los montones del sistema y del escritorio que usan el siguiente formato:
    SharedSection=xxxx,yyyy
    Agregue ",256" o ",512" tras el número yyyy.

    Para Windows 2000, Windows XP y Windows Server 2003:
    SharedSection usa el siguiente formato para especificar los montones del sistema y del escritorio:
    SharedSection=xxxx,yyyy,zzzz
    Para los sistemas operativos de 32 bits, aumente el valor yyyy en"12288";
    Aumente el valor zzzz en "1024".
    Para los sistemas operativos de 64 bits, aumente el valor yyyy en"20480";
    Aumente el valor zzzz en "1024".

Más información

Windows NT usa un montón de memoria especial para todos los programas basados en Windows que se ejecutan en el escritorio. El montón del escritorio se usa para todos los objetos (ventanas, menús, plumas, iconos, etc.). Cuando se ejecuta un número elevado de programas basados en Windows, es posible que este montón no tenga suficiente memoria. Cuando no hay suficiente memoria para una solicitud de asignación, normalmente, el sistema genera un error y notifica al usuario de que no tiene suficiente memoria. Algunos programas no controlan el error correctamente y, en algunas situaciones, es posible que no haya suficiente memoria para crear el cuadro de diálogo del mensaje de error. Como resultado, hay error en la operación de solicitud sin ningún tipo de indicación.

La clave SharedSection se ve como una cadena larga con el Editor del Registro. El valor predeterminado de este archivo es el siguiente.
   %SystemRoot%\system32\csrss.exe
   ObjectDirectory=\Windows
   SharedSection=1024,3072,512
   Windows=On
   SubSystemType=Windows
   ServerDll=basesrv,1
   ServerDll=winsrv:GdiServerDllInitialization,4
   ServerDll=winsrv:UserServerDllInitialization,3
   ServerDll=winsrv:ConServerDllInitialization,2
   ProfileControl=Off
   MaxRequestThreads=16
				


El primer valor de SharedSection (1024) es el tamaño del montón común a todos los escritorios. Esto incluye la tabla de control global (los identificadores de ventana son máquinas únicas al nivel de equipo) y la configuración del sistema compartida (como SystemMetrics). Es poco probable que necesite cambiar este valor en algún momento.

El segundo valor de SharedSection (3072) controla el tamaño del montón del escritorio asociado con la estación de ventana interactiva (usada para los objetos de Windows). Este valor estático se usa para impedir que las aplicaciones que tienen un mal comportamiento utilicen demasiados recursos. Debido a que el montón del escritorio está asignado a cada espacio de direcciones del proceso, este valor no se debería enviar a un valor alto de manera arbitraria (ya que el rendimiento se reduciría), pero debería aumentarse lo suficientemente para permitir que todas las aplicaciones que de desee se ejecuten.

El tercer valor de SharedSection (512) controla el tamaño del montón del escritorio de cada escritorio asociado con una estación de ventana "no interactiva". Si este valor no está presente, el tamaño del montón de escritorio de las estaciones de ventana no interactivas será el mismo que el tamaño especificado en las estaciones de ventana interactivas (el segundo valor de SharedSection).
Para obtener información adicional acerca de los parámetros de la clave SharedSection, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
184802 PRB: Error al inicializar User32.dll o Kernel32.dll

¿Esta información le ha ayudado a solucionar el problema?

  • Compruebe si se ha solucionado el problema. Si se ha solucionado, ya ha terminado con esta sección. En caso contrario, puede ponerse en contacto con el soporte técnico.
  • Valoramos sus comentarios. Para realizar algún comentario o informar de cualquier problema con esta solución, deje su comentario en el blog "Solucionarlo en mi lugar" o envíenos un correo electrónico.

Propiedades

Id. de artículo: 126962 - Última revisión: viernes, 12 de noviembre de 2010 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
Palabras clave: 
kbenv kbmsifixme kbfixme KB126962

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com