Identificativo articolo: 126962 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Quando si esegue un numero elevato di programmi basati su Windows, viene visualizzato il messaggio di errore "Memoria insufficiente" quando si tenta di avviare nuovi programmi o di utilizzare programmi già in esecuzione, anche se è ancora disponibile una quantità elevata di memoria fisica e del file di paging.

Cause

Questo comportamento può verificarsi se l'heap del desktop nel sottosistema WIN32 è esaurito.

Nota Questo problema si verifica più spesso in Windows NT 3.5 in quanto la dimensione predefinita dell'heap del desktop è pari a 512 KB. In Windows NT 3.1 il valore predefinito è pari a 3072 KB. Il valore predefinito è stato ridotto per migliorare le prestazioni.

Risoluzione

Importante In questa sezione, metodo o attività viene illustrato come modificare il Registro di sistema. L'errata modifica del Registro di sistema può causare seri problemi. Attenersi quindi scrupolosamente alla procedura indicata. Per maggiore protezione, eseguire una copia di backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile effettuarne il ripristino in caso di problemi. Per ulteriori informazioni su come eseguire il backup del Registro di sistema e su come ripristinarlo, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
322756 Esecuzione del backup e del ripristino del Registro di sistema in Windows
Per consentire al supporto tecnico di risolvere il problema, andare alla sezione "Correzione automatica". Per risolvere il problema autonomamente, andare alla sezione "Correzione manuale".

Correzione automatica



Per risolvere il problema automaticamente, fare clic sul pulsante o collegamento Fix it. Scegliere Esegui nella finestra di dialogo Download file e attenersi alla procedura di correzione guidata.

Correggi problema
Microsoft Fix it 50496

Note
  • Questa procedura guidata è disponibile solo in inglese. Tuttavia, la correzione automatica funziona anche per versioni di Windows in altre lingue.
  • Se il computer in uso non è il computer che presenta il problema, salvare la soluzione Fix it su un'unità di memoria flash o su un CD ed eseguire la correzione sul computer che presenta il problema.
  • Se il problema persiste, aumentare la memoria del computer.

Quindi, andare alla sezione "Il problema è stato risolto?".



Correzione manuale

Per risolvere questo problema, aumentare la dimensione dell'heap del desktop:
  1. Eseguire l'editor del Registro di sistema (Regedt32.exe).
  2. In corrispondenza della sottostruttura
    HKEY_LOCAL_MACHINE
    passare alla chiave seguente:
    \System\CurrentControlSet\Control\Session Manager\SubSystems
  3. Selezionare il valore Windows.
  4. Scegliere Stringa dal menu Modifica.
  5. Aumentare il valore del parametro SharedSection.

    Per Windows NT:
    SharedSection specifica gli heap del sistema e del desktop utilizzando il seguente formato:
    SharedSection=xxxx,yyyy
    Aggiungere ",256" o ",512" dopo il numero yyyy.

    Per Windows 2000, Windows XP e Windows Server 2003:
    SharedSection utilizza il seguente formato per specificare gli heap del sistema e del desktop:
    SharedSection=xxxx,yyyy,zzzz
    Per i sistemi operativi a 32 bit, aumentare il valore yyyy a "12288";
    Aumentare il valore zzzz a "1024".
    Per i sistemi operativi a 64 bit, aumentare il valore yyyy a "20480";
    Aumentare il valore zzzz a "1024".

Informazioni

In Windows NT viene utilizzato uno speciale heap della memoria per tutti i programmi basati su Windows in esecuzione sul desktop. L'heap del desktop viene utilizzato per tutti gli oggetti (finestre, menu, penne, icone e così via). Quando è in esecuzione un numero elevato di programmi basati su Windows, questo heap potrebbe esaurire la memoria. Quando la memoria non è sufficiente per soddisfare una richiesta di allocazione, in genere viene restituito un errore dal sistema e viene notificato all'utente che la memoria è insufficiente. In alcuni programmi il problema non viene gestito in modo corretto e talvolta la memoria potrebbe non essere sufficiente per creare la finestra di dialogo del messaggio di errore. Di conseguenza, l'operazione richiesta non viene completata senza alcuna indicazione.

La chiave SharedSection, se visualizzata nell'editor del Registro di sistema, risulta una stringa lunga. Il valore predefinito della chiave è il seguente.
<![CDATA[
   %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
				


Il primo valore SharedSection (1024) definisce la dimensione dell'heap comune a tutti i desktop, incluse la tabella degli handle globali (gli handle di finestra sono univoci a livello di computer) e le impostazioni di sistema condivise (quale SystemMetrics). È improbabile che sia mai necessario modificare questo valore.

Il secondo valore SharedSection (3072) controlla la dimensione dell'heap del desktop associato a un oggetto finestra interattivo (utilizzato per gli oggetti di Windows). Questo valore statico viene utilizzato per impedire alle applicazioni che non funzionano correttamente di utilizzare troppe risorse. Poiché viene effettuato il mapping dell'heap del desktop nello spazio degli indirizzi di ogni processo, questo valore non deve essere impostato su un valore arbitrariamente elevato, in quanto si verificherebbe un degrado delle prestazioni, ma deve essere semplicemente accresciuto quanto basta per consentire l'esecuzione di tutte le applicazioni desiderate.

Il terzo valore SharedSection (512) controlla la dimensione dell'heap del desktop per ciascun desktop associato a un oggetto finestra "non interattivo". Se questo valore non è presente, la dimensione dell'heap del desktop per gli oggetti finestra non interattivi sarà pari alla dimensione specificata per oggetti finestra interattivi (secondo valore SharedSection).
Per ulteriori informazioni sui parametri della chiave SharedSection, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
184802 PRB: L'inizializzazione di User32.dll o Kernel32.dll non riesce

Il problema è stato risolto?

  • Verificare se il problema è stato risolto. Se il problema è stato risolto, è possibile interrompere la lettura della sezione. Se il problema persiste, contattare il supporto tecnico.
  • Invio di commenti. Per fornire commenti o segnalare problemi relativi a questa soluzione, lasciare il proprio commento all'interno del blog "Correzione automatica" o inviare un messaggio di posta elettronica.

Proprietà

Identificativo articolo: 126962 - Ultima modifica: mercoledì 10 novembre 2010 - Revisione: 3.0
Le informazioni in questo articolo si applicano 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
Chiavi: 
kbenv kbmsifixme kbfixme KB126962
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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