PDA

Visualizza versione completa : "Errori di pagina di memoria"


The Master
08-07-2000, 15.45.00
Dal taskmanager di w2000 ho attivato la funzione per avere in "Processi", come descrizione appunto ai vari processi, il numero di errori di pagina di memoria. Dopo 2 ore di connessione (anche con numerosi programmi aperti), e comunque sono 2 ore e mezza che il pc è acceso, è normale avere 1.200.000 errori di pagina di memoria (il processo che ne ha di più), e pure il ciclo idle ne ha 2 !!! Tutti i processi sono comunque sopra il migliaio ... Ma tutto questo è normale e non mi devo preoccupare, oppure c'è realemente qualcosa che non va ?

------------------
http://emiliano81.interfree.it/img/signature.gif
3ye http://wwp.icq.com/scripts/online.dll?icq=72865550&img=5

Sergio Neddi
09-07-2000, 00.21.00
Credo sia normale. Oddio, non ho esperienza con Win2k, ma in Win9x ho sempre visto la stessa cosa. Mi sono fatto un'idea, vediamo se qualcuno mi dice che sono scemo... lo so già, grazie!
Allora... per me tutto parte dalla gestione della memoria virtuale, così come viene gestita dal processore. Una volta programmavo in assembler, ma non ho pratica con i processori moderni. Sospetto però che il supporto della memoria virtuale dato dal processore (so che esiste) sia più o meno così: "io ti lascio indirizzare tutta la memoria che vuoi, però, se questa cade al di fuori della memoria fisica, lancio un interrupt (o qualcosa del genere)."
In pratica alla richiesta di RAM "parte" un interrupt che, gestito dal sistema operativo, attiva la gestione del file di swap o comunque si attivano le procedure per rendere disponibile questa pagina.
E' ovvio che più richieste si accumulino nel normale funzionamento della macchina. Per problemi del sistema operativo, temporizzazioni critiche od altro puo' accadere che qualche richiesta non riesca ad essere evasa, pertanto si verifica il classico "Questo programma ha eseguito... (Game Over)" che però può aver anche tante altre cause. A seconda del punto in cui si manifestano gli errori di pagina non evasi può accadere che appaia la schermata blu con "errore 0E in OFESSO...".
Normalmente all'avvio di un programma o comunque quando c'è una grossa richiesta di RAM il numero di errori di pagina fa un picco enorme. Però normalmente sono tutti errori gestiti, l'utente questo non lo vede.
Nell'uso normale è dunque normale che sia normale che normalmente ci siano quintali di errori di pagina: Sono solo richieste di liberare memoria, che si traducono in richieste che attivano la gestione della memoria virtuale di Win. Se poi una richiesta scappa... beh, una ogni tanto è nella norma.
Per favore qualcuno mi faccia sapere se mi sono avvicineto alla realtà oppure se il mio castello di fantasie possa essere più adatto come spunto per il prossimo raccontino della sezione WinHumor!
Ciao a tutti!
----------------------
Nulla si crea e nulla si distrugge, ma tutto si disintegra.
----------------------

Oreste
09-07-2000, 13.26.00
Certo, sono indicazioni che riguardano la gestione della memoria paginata, la memoria virtuale di Win2k, il pagefile.sys.

Per quello che ho potuto leggere sin'ora, i cosidetti errori di pagina dei processi visibili in taskmanager (io in task manager ho attivato tutte le colonne perchè Win2k sono più le cose che fa in background che quelle che gestisce in foreground), sono mancate letture di dati dalla memoria virtuale, quindi non è che sono veri e propri errori, ma dati che sono in RAM.

Questi errori di pagina di memoria dipendono dal fatto che il kernel assegna ai processi gli indirizzi nella memoria paginata, in modo da poter leggerli quando necessario, cioè quando sono stati scaricati sul pagefile.sys.

Quindi c'è un errore quando un processo in base al livello di priorità assegnatogli lancia interrupt per andare periodicamente a vedere nel pagefile e non
trova dati perchè sono ancora nella RAM di sistema. Quando ci sono valori piccoli di errori di pagina, vuol dire che quel processo è stato swappato.

E' un pò il discorso al contrario degli hit di smartdrive - ve lo ricordate lo smartdrive del DOS 6 e sopratutto di Win3.1 WG.

Smartdrive attivava la cache dell'hd che si riempiva di dati: quando si chiedeva un report a smartdrive venivano fuori quelle scritte tipo 30.000 hit su 60.000 richieste effettuate - quindi 30000 volte c'era stato un colpo centrato, un successo, un hit nella lettura dei dati dalla cache (in RAM e quindi veloce) su 60000 richieste di dati immagazzinati su hd.


[This message has been edited by oreste (edited 09-07-2000).]

The Master
12-07-2000, 19.36.00
OK, apprezzo la spiegazione

------------------
http://emiliano81.interfree.it/img/sign.gif
3ye http://wwp.icq.com/scripts/online.dll?icq=72865550&img=5