FIX: Memoria gestita aumenta nel tempo quando si eseguono chiamate di rete asincrona

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

817618
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
Un oggetto bloccato è un oggetto che il garbage collector non può spostare nella memoria. In un processo di .NET se si eseguono operazioni che direttamente o indirettamente bloccare gli oggetti in memoria che viene gestita dal garbage collector .NET il processo può verificarsi crescita sostenuta memoria.

Per determinare se il blocco è in corso per un'istanza di processo specifico, verificare quanto segue in Performance Monitor (PerfMon):
  • Nel contatore Memoria CLR. NET, valori elevati vengono visualizzati nella categoria del numero di oggetti aggiunti e la categoria di byte in tutti gli heap .
  • Nel contatore processo, un valore elevato visualizzata nella categoria Byte privati .
Valori elevati nei contatori potrebbero indicare che si tratta di questo problema.
Risoluzione
Un hotfix supportato è disponibile da Microsoft, tuttavia è destinato esclusivamente per risolvere il problema descritto in questo articolo. Utilizzarla solo nei sistemi in cui si verifica questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se non si è notevolmente interessati da questo problema, si consiglia pertanto di attendere il rilascio del prossimo service pack di .NET Framework che contiene questo aggiornamento rapido (hotfix).

Per risolvere immediatamente questo problema, contattare il servizio supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del servizio supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft: Nota in casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Supporto Tecnico Microsoft dovesse determinare che uno specifico aggiornamento risolverà il problema. I normali costi del Servizio Supporto Tecnico Clienti verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time   Version       Size       File name   --------------------------------------------------------------   01-May-2003  12:43  1.0.3705.419    196,608  Aspnet_isapi.dll   01-May-2003  12:43  1.0.3705.419     69,632  Corperfmonext.dll   01-May-2003  12:43  1.0.3705.419    303,104  Mscorjit.dll   04-Apr-2003  10:20  1.0.3705.419  1,953,792  Mscorlib.dll   03-Apr-2003  21:30  1.0.3705.419  2,269,184  Mscorsvr.dll   03-Apr-2003  21:30  1.0.3705.419  2,269,184  Mscorwks.dll
Informazioni
Di seguito sono operazioni che può essere direttamente o indirettamente bloccare gli oggetti nella memoria gestita:
  • Operazioni direttamente bloccare oggetti
    • Se si utilizza la parola chiave fixed in un contesto unsafe

      Nota Un contesto unsafe è necessario per qualsiasi operazione che riguarda i puntatori. È possibile applicare unsafe come modificatore nella dichiarazione dei membri chiamabili, ad esempio metodi, proprietà, costruttori e dispositivi Extender (ma non dei costruttori statici).
    • Se si esegue GCHandle.Alloc (a, b, GCHandleType.Pinned) in C# il codice gestito
  • Le operazioni che in direttamente gli oggetti di pin
    • Se si chiama a un servizio Web, richiamando il proxy del servizio Web generato
    • Se si apportano delle richieste HTTP effettuate utilizzando la classe HttpRequest .
    • Se si chiama alla funzione di ricezione sincrona in un oggetto Messaging.Queue (buffer sono bloccati durante la chiamata di ricezione )
È possibile monitorare il problema visualizzando i seguenti contatori PerfMon:
  • Memoria CLR .NET / byte in tutti gli heap aumentano
  • Memoria CLR .NET - numero di oggetti aggiunti saranno in un numero elevato (maggiore di 100)
Per ulteriori informazioni sull'utilizzo di PerfMon, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
248345Creazione di un registro utilizzando Monitor di sistema in Windows 2000
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 817618 - Ultima revisione: 02/05/2014 17:54:39 - Revisione: 1.6

  • Microsoft .NET Framework 1.0
  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbnetframe100presp3fix kbfix kbbug KB817618 KbMtit
Feedback