Compare un messaggio d’errore di memoria mentre accedo a un file condiviso

L’errore è dovuto a un valore troppo basso del parametro IRPStackSize, che regola il funzionamento del servizio Lanman.

Nella rete locale della mia azienda sono presenti diversi PC, ognuno dei quali condivide una o più cartelle. A volte, effettuando un accesso a una cartella o file condiviso, sul PC client compare il messaggio d’errore “memoria insufficiente nel server per eseguire l’operazione”. Il problema capita sporadicamente con tutti i PC, ma sembra essere leggermente più frequente con quelli che usano Windows XP.

Il problema, che è anche rintracciabile nel registro eventi di sistema con l’identificatore 2011, è provocato da un valore troppo basso del parametro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ LanmanServer\Parameters\IRPStackSize, il quale regola il funzionamento del servizio Lanman che gioca un ruolo centrale nel consentire accesso dalla rete alle risorse locali del server.

In alcuni casi è stato notato un nesso fra la presenza di un antivirus sul server, la dimensione dei file oggetto dell’accesso remoto e il valore di questo parametro.

E’ probabile che prima di fornire i dati del file richiesto, un server con antivirus installato e attivo debba eseguire una scansione rapida del file. Questa operazione occupa per qualche istante una parte più o meno grande delle risorse a disposizione del Lanman server che in casi limite (specie in occasione di parecchie richieste concomitanti) possono arrivare a esaurimento, dando luogo all’errore segnalato. Anche altri programmi, fra cui Acronis True Image, sono stati sporadicamente segnalati causare un problema simile.

La soluzione suggerita dalla stessa Microsoft è quella di incrementare il valore di IRPStackSize, creando la chiave se non già presente nel Registro di sistema di Windows. Conviene incrementare di qualche unità il valore, riavviare il server e riprovare l’operazione, fino a trovare una impostazione con cui il problema scompare.

Nel farlo occorre tenere presente che a seconda della versione di Windows utilizzata sul server, l’intervallo di valori ammissibili per IRPStackSize varia, così come il valore predefinito.

In Windows NT il valore predefinito era pari a 4 e l’intervallo ammissibile andava da 4 a 12. In Windows 2000 e Windows XP il valore predefinito è stato incrementato a 15, mentre l’intervallo ammissibile è diventato 11-50.

Da segnalare infine anche l’articolo 225782 della knowledge base di Microsoft, che tratta in modo approfondito la problematica.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome