Newsgroup: it.comp.os.win.xp
Titolo: file Ntkrnlpa.exe

Ci riprovo...
il mio WinXp ogni tanto si impalla per un secondo o due ogni tre/quattro 
minuti
Tramite process explorer ho visto che ï¿œ il processo Services.exe
perï¿œ questo processo ha molti thread a quanto pare.
i file dll che causano questi rallentamenti cambiano, ma i thread sono 
sempre gli stessi, ovvero:
ntkrnlpa.exe!KiUnexpectedInterrupt+0x8d
ntkrnlpa.exe!PsLookupThreadByThreadId+0x4abc
ntkrnlpa.exe!KiDeliverApc+0xb3
ntkrnlpa.exe!ZwYieldExecution+0x196c
ntkrnlpa.exe!ZwYieldExecution+0x1900
ntkrnlpa.exe!ZwYieldExecution+0x196c
ntkrnlpa.exe!NtWaitForSingleObject+0x38c
ntkrnlpa.exe!KeReleaseInStackQueuedSpinLockFromDpcLevel+0xb14
ntdll.dll!KiFastSystemCallRet
kernel32.dll!WaitForMultipleObjects+0x18
kernel32.dll!GetModuleFileNameA+0x1ba
Sono andato a controllare il file ntkrnlpa.exe
e ho visto che ï¿œ l'unico modificato il 9 febbraio, piï¿œ o meno quando ï¿œ 
iniziato tutto questo.
A scanso di equivoci:
- Non ho aggiornato windows
- Non ci sono virus
- Non ci sono spyware
- non ho installato niente (credo)
- Il ripristino del registro non funziona :-/
Il file perï¿œ risulta modificato
Cosa posso fare? Posso prendere lo stesso file da un'altra installazione 
ï¿œ cambiarlo?
Grazie

 Sono andato a controllare il file ntkrnlpa.exe
dov'ï¿œ? in quale cartella


quella di sistema
  windows/system32

   windows/system32
ok allora ï¿œ pulito, per caso hai una scheda di rete wifi? perchï¿œ in 
questo caso ti basterebbe aggiornare i suoi drivers


no, non ce l'ho. In alternativa cosa posso fare? Sto cercando di capire 
cos'ï¿œ successo in quel periodo. Forse un crash, o un'installazione non 
voluta (tipo java o qualcos'altro).

Locke. S. ha scritto:


ï¿œ il kernel a 64 bit, che serve quando la memoria complessiva 
supera i 4 GB. Il 9 era il secondo martedï¿œ del mese, il giorno 
degli aggiornamenti. Sei sicuro che degli aggiornamenti non si 
siano effettuati automaticamente? Sono degli aggiornamenti che 
attivano quel kernel, se giï¿œ non lo si ï¿œ attivato per proprio 
conto, e questo perchï¿œ ora i PC hanno molta RAM e se il sistema 
operativo non ï¿œ a 64 bit ne possono utilizzare solo una parte. 
Hai due possibilitï¿œ: disinstalli gli aggiornamenti di quel 
giorno e poi li reinstalli uno alla volta finchï¿œ non trovi 
quello che attiva quel kernel e non lo installi piï¿œ; oppure vedi 
nel file boot.ini se c'ï¿œ lo switch /PAE e lo cancelli (vedi 
questo per primo). Controlla in pannello di controllo -> 
sistema, in basso, dopo la descrizione della CPU e della RAM ci 
dovrebbe essere "Estensione indirizzo fisico" che ï¿œ appunto il 
PAE (anche se lo cancelli dal boot.ini la scritta rimane). Dici 
che il Ripristino configurazione del sistema non funziona: l'hai 
disabilitato tu, o non funziona inaspettatamente mentre dovrebbe 
funzionare? Nel secondo caso ï¿œ probabile che tu abbia un ospite 
che si chiama Rootkit; controlla se il Regedit, il taskmanager 
(quello di windows), il pannello di controllo e la 
visualizzazione dei files nascosti funzionano.
-- 
Postato da Virgilio Newsgroup: lo usi da web ma con le funzioni del newsreader 
http://newsgroup.virgilio.it
Gerarchie it, italia, it-alt, tin, it.binari. Unico!

 ï¿œ cambiarlo?
Io lo manderei a virustotal e vedrei cosa ne pensano loro.
L'unico riferimento ad un virus legato a quell'eseguibile ï¿œ del 2003.
Perï¿œ un pezzo di windows che cambia data senza motivo a me puzza.
Poi, sï¿œ, dovrebbe essere possibile prenderlo da un altro windows
di pari grado e livello di aggiornamento.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

Il 16/02/2010 16.42, fraal ha scritto:
 > Locke. S. ha scritto:
 > ï¿œ il kernel a 64 bit, che serve quando la memoria complessiva
 > supera i 4 GB. Il 9 era il secondo martedï¿œ del mese, il giorno
 > degli aggiornamenti. Sei sicuro che degli aggiornamenti non si
 > siano effettuati automaticamente?
sicurissimo. Per completezza di informazioni ho un athlon64 e 1 gb di 
memoria
 > Sono degli aggiornamenti che
 > attivano quel kernel, se giï¿œ non lo si ï¿œ attivato per proprio
 > conto, e questo perchï¿œ ora i PC hanno molta RAM e se il sistema
 > operativo non ï¿œ a 64 bit ne possono utilizzare solo una parte.
 > Hai due possibilitï¿œ: disinstalli gli aggiornamenti di quel
 > giorno e poi li reinstalli uno alla volta finchï¿œ non trovi
 > quello che attiva quel kernel e non lo installi piï¿œ; oppure vedi
 > nel file boot.ini se c'ï¿œ lo switch /PAE e lo cancelli (vedi
 > questo per primo). Controlla in pannello di controllo ->
non c'ï¿œ lo switch
 > sistema, in basso, dopo la descrizione della CPU e della RAM ci
 > dovrebbe essere "Estensione indirizzo fisico" che ï¿œ appunto il
 > PAE (anche se lo cancelli dal boot.ini la scritta rimane). Dici
 > che il Ripristino configurazione del sistema non funziona: l'hai
 > disabilitato tu, o non funziona inaspettatamente mentre dovrebbe
 > funzionare? Nel secondo caso ï¿œ probabile che tu abbia un ospite
 > che si chiama Rootkit; controlla se il Regedit, il taskmanager
 > (quello di windows), il pannello di controllo e la
 > visualizzazione dei files nascosti funzionano.
funzionano correttamente :)
Proverï¿œ a disinstallare qualcosa sperando che sia quella giusta.
grazie per l'articolata risposta.

 di pari grado e livello di aggiornamento.
un XP SP2
Ci proverï¿œ. Lo farï¿œ da DOS facendo una copia del vecchio file. Se non 
dovesse partire spero che sia sufficiente ripristinare il vecchio file.

Locke. S. ha scritto:

Athlon64? Non conosco i processori AMD, ma suppongo che sia una 
CPU con supporto 64bit. Per cui dovrebbero essere stati i suoi 
drivers ad avere caricato il kernel a 64bit. E deve essere stato 
cosï¿œ da sempre. Perciï¿œ niente switch PAE nel boot.ini: il kernel 
si carica di default. Anche senza tanta RAM. Se quel file 
risulta modificato vuol dire che qualche cosa ci si ï¿œ 
agganciato. E' il meccanismo dei rootkits. Vedi se trovi da 
scaricare RootkitUnhooker e fa una scansione. Se hai process 
explorer molto probabilmente hai anche le Sysinternal utilities: 
anche lï¿œ c'ï¿œ uno strumento simile, ma RootkitUnhooker ï¿œ migliore.
Il miglior TaskManager che conosco ï¿œ TaskInfo (ma non ï¿œ 
gratuito; dï¿œ un mucchio di informazioni che potrebbero esserti 
utili. Segnala anche se i thread, gli handles, gli oggetti 
GDI...superano un certo limite: anche questi potrebbero essere 
una causa. Se hai disabilitato il file di paging riabilitalo, se 
ne hai impostato  manualmente la dimensione, aumentala o fallo 
gestire dal sistema. Anche questo potrebbe essere una causa: se 
qualche cosa satura la memoria kernel il sistema rallenta o si 
blocca per un attimo finchï¿œ una parte di essa non viene paginata.


 Vedi se trovi da scaricare RootkitUnhooker e fa una scansione.
Ti sei dimenticato di dirgli di non "sganciare" sistematicamente tutto ci� 
che si � agganciato al kernel.
Prima di fare qualunque cosa con RootkitUnhooker, l'OP deve essere sicuro di 
ci� che sta facendo.
Cristiano 

 ciï¿œ che sta facendo.
lo sto provando. Ci sono circa 284 servizi legati a Ntkrnlpa.exe e 
francamente non saprei qual'ï¿œ quello che mi assorbe il 100% della 
memoria per quel secondo che mi dï¿œ fastidio.
Se faccio unHook ï¿œ una cosa definitiva oppure temporanea? Cioï¿œ, al 
prossimo riavvio lo riaggancia?
A questo problema ï¿œ legato credo anche una cattiva gestione della Ram. 
Da qualche tempo a questa parte ogni volta che apro un programma 
(Firefox, Thunderbird o altro) questo assorbe tutta la memoria 
rallentando il sistema finchï¿œ non si stabilizza. Anche questo ï¿œ 
fastidioso. Di solito potevo lasciare emule,firefox e molti altri 
programmi in background e allo stesso tempo giocare. Non ho mai avuto di 
questi problemi.
Inoltre mi sono ricordato che tempo fa ho settato un file di paging per 
il secondo hard disk. Adesso lo cancello e vedo se la cosa sparisce.

 A questo problema � legato credo anche una cattiva gestione della Ram.
Non vedo una correlazione diretta.
Dal tuo primo post, si vedono alcune funzioni che bloccano il kernel, in 
particolare:
    ntkrnlpa.exe!KiUnexpectedInterrupt+0x8d
    ntkrnlpa.exe!PsLookupThreadByThreadId+0x4abc
    ntkrnlpa.exe!NtWaitForSingleObject+0x38c
    kernel32.dll!WaitForMultipleObjects+0x18
la prima mi sembra molto strana e mi fa pensare a un semplice incasinamento 
di driver hardware oppure ad un incasinamento creato da un rootkit scritto 
male.
Le ultime due sono quelle che bloccano il kernel in attesa che 
un'applicazione rilasci un oggetto o fino a che non trascorre un certo tempo 
(si usano normalmente nei programmi multi-thread).
Per cui non vedo qualcosa che possa influire direttamente sulla ram. Secondo 
me, la cattiva gestione della ram � una conseguenza di tutto "l'intreccio" 
che si � creato nel kernel.
Cristiano 

 prova solo su quello. Se combini casini, non prendertela con me! :-)
Oggi la dll che mi dï¿œ problemi ï¿œ
RCPRT4.DLL!I_RpcBCacheFree+0x5b1
nei giorni scorsi sono state il
ntdll.dll
advapi32.dll
msvcrt.dll
NCOBJapi.dll
hnetcfg.dll
  e forse altri che non ho riportato.
Quando killo questi processi il sistema torna stabile.
Per adesso non faccio niente. Perï¿œ vorrei poter capire come poterlo 
eliminare definitivamente, senza dover reinstallare tutto.
Oggi provo a rimediare un file ntkrnlpa.exe e sostituirlo da un altro XP sp2
:-/
grazie

 che si ï¿œ creato nel kernel.
oggi il file che mi congela il pc ï¿œ RPCRT4.DLL!I_RpcBCacheFree+0x5b1
nei giorni scorsi sono stati, tra gli altri:
advapi32.dll
msvcrt.dll
NCOBJapi.dll
hnetcfg.dll
ma con lo stesso stack, o quello che ï¿œ.
Se lo killo il problema scompare, ma vorrei capire come eliminarlo alla 
radice.
Oggi provo a cancellare gli aggiornamenti java, poi cercherï¿œ di 
sostituire il file
ntkrnlpa.exe con uno preso da un altro XP SP2
grazie

 sostituire il file ntkrnlpa.exe con uno preso da un altro XP SP2
Ok, buon lavoro.
Mi piacerebbe conoscere l'esito della sostituzione del kernel; mi farai 
sapere?
Cristiano 

 
Mi sembrava abbastanzza "grande" da sapersela cavare senza 
essere portato per mano. Anche perchï¿œ le applicazioni che 
mettono drivers virtuali che le fanno agire come sistema non 
sono poi tante e facilmente individuabili.


 
Il fatto ï¿œ che non si tratta della RAM, ma della memoria 
virtuale, e cioï¿œ quella parte di RAM nella quale viene caricato 
il Kernel, che in XP ha dimensioni molto contenute: 128 MB 
(Vista e Win7 512 MB)Secondo me si tratta di una "congestione" 
del Kernel dovuta a memory leaks. La memoria virtuale ï¿œ quasi 
esaurita. Uno dei responsabili ï¿œ firefox; ma da solo non basta, 
sicuramente ce ne sono altri.


 sicuramente ce ne sono altri.
avevo apportato modifiche anche alla ram virtuale, ma l'avevo ampliata, 
non diminuita.
Anche una volta ripristinati i valori iniziali non ï¿œ cambiato nulla



certo, se non rispondo a breve sapete perchï¿œ :)


ho sostituito il file e non ho avuto alcun miglioramento e neanche 
peggioramenti.
A questo punto provo Taskinfo. Devo assolutamente capire cos'ï¿œ che lo 
blocca.

 A questo punto provo Taskinfo. Devo assolutamente capire cos'ï¿œ che lo blocca.
Provato ProcMon ?
Comunque, se ho letto bene, stai parlando di SP2.
Perchï¿œ non aggiorni tutto l'aggiornabile ?
Bye, G. 


ho aggiornato tutto l'aggiornabile e non ï¿œ cambiato niente.
Ho provato a sostituire il file services.exe preso da un'altra 
installazione ma anche da linea di comando non ï¿œ possibile in quanto ï¿œ 
in esecuzione.
E non sono riuscito a fare un floppy di boot che legga anche NTFS :-/

 E non sono riuscito a fare un floppy di boot che legga anche NTFS :-/
[excursus storico]
Da floppy ï¿œ duretta. Esistono, o almeno esistevano, soluzioni
proprietarie a pagamento che funzionavano in lettura e scrittura,
o gratuite per sola lettura, se non ricordo male.
Ormai come alternativa perï¿œ sono venutre fuori varie alternative,
tipo driver NTFS per Linux,  quindi l'interesse per l'argomento ï¿œ
scemato.
[/excursus storico]
Piï¿œ semplicemente oggi si puï¿œ usare un disco di UBCD4Win,
e con quello fai quello che vuoi :-).
Bye, G. 

 blocca.
Ha un sacco di roba, ma anche con Process Explorer di Sysinternals 
(gratuito) riesci a vedere il modulo che blocca il sistema.
Cristiano 

Locke. S. ha scritto:

Come hai fatto ad aumentare la memoria virtuale (non RAM 
virtuale; in task manager->Prestazioni, ï¿œ il settore in basso a 
destra = Memoria del Kernel)? E' il tweak piï¿œ avanzato di Xp ed 
ï¿œ piuttosto complesso: puoi portarla da 128 MB a 512 MB come in 
Vista.


 Quindi mi confermi che hai SP3.
no, sono rimasto al SP2 ma con tutti gli aggiornamenti di sicurezza 
installati
Non mi fido molto dell'installazione del SP3

 (gratuito) riesci a vedere il modulo che blocca il sistema.
sï¿œ, con quello riesco a individuare il thread che crea questo problema. 
Come ho giï¿œ detto ï¿œ un thread di Services.exe. La DLL non ï¿œ sempre la 
stessa. Una volta killato quel processo il sistema diventa piï¿œ stabile. 
Il problema ï¿œ che devo farlo a ogni riavvio e vorrei invece capire da 
dove viene ed eliminarlo del tutto

 Vista.
parlavo appunto della ram virtuale, quella su disco.

 Non mi fido molto dell'installazione del SP3
Male. Io l'ho messo su tutte le macchine che abbiamo, e con tutti
i programmi che girano in una ditta su sei/sette sedi diverse, mai
avuto problemi.
Bye, G. 

Locke. S. ha scritto:

Non ï¿œ la stessa cosa: la memoria virtuale o memoria kernel non ï¿œ 
sul disco; ï¿œ una parte di 128 MB (per XP)della RAM fisica. ï¿œ 
quella sulla quale viene caricato il kernel con tutti i drivers. 
Questa quantitï¿œ ï¿œ fissa e non dipende dalla quantitï¿œ di RAM; ma 
dal sistema operativo (per vista e 7 ï¿œ 512 MB, perchï¿œ loro hanno 
funzioni di sistema molto piï¿œ pesanti).In XP puï¿œ essere 
modificata e portata a 512 come per vista, con un tweak 
piuttosto complesso che prevede l'uso di wbemtest.exe (una 
applicazione nascosta di XP).
Ma questo non basterebbe: bisogna anche modificare il numero di 
handles e di oggetti GDI (da 10.000 a 18.000 per entrambi)e 
delle Windows (finestre: da 60 a 120). Non sono cose che ti 
posso spiegare qui. Dovresti fare una ricerca su google. 
Comunque anche questi tweaks non sarebbero la vera soluzione del 
problema. Bisogna identificare il software che causa dei leaks e 
liberarsene, od aggiornarlo nella speranza che sia stao 
migliorato. Ti posso dire per certo che una di quelle 
applicazioni ï¿œ firefox: ha quel difetto dalla nascita ed anche 
nella versione piï¿œ nuova non ï¿œ stato riparato, forse perchï¿œ 
questo implicherebbe il riscriverlo completamente da capo; ma 
non puï¿œ essere firefox solo, la causa.


 non puï¿œ essere firefox solo, la causa.
Non intendo smanettare troppo, potrebbe non valerne la pena. Comunque 
recentemente ho installato gli aggiornamenti Firefox e penso di essere 
l'unico a cui le prestazioni sono peggiorate. E' lento. Provo a 
disinstallarlo e vedere se migliora qualcosa. Nel frattempo uso Chrome.

Riprendo qui il discorso perchï¿œ nel frattempo non sono riuscito a 
risolvere il problema.
Ho installato Taskinfo. Anche con questo programma riesco a individuare 
il thread che viene gestito da Services.exe che mi blocca Windows per un 
secondo.
E' il seguente (fa parte di services.exe)
    __Thread |  |  |  |   |  |  | 2:41 | 0:01 | 0 |  |  |  |  | 9/9 |  | 
Wait User Request |  |  |  |  | 2010-03-02 9.23.14 | 1:23:43 |  |  |  | 
  |  |  |  |  |  |  |  |  |
Qualcuno sa se con questo programma esiste un opzione per killare 
definitivamente il processo?
Inoltre a me services.exe ï¿œ di 109kb e quanto pare (forse) avevate 
ragione voi: credo che WinXp si sia aggiornato perchï¿œ ho trovato delle 
copie in alcune cartelle tipo C:\windows\softwareDistribution\download 
ecc.. (qui c'ï¿œ una serie di numeri e lettere.
Grazie

 definitivamente il processo?
A me sembrava pi� comprensibile la sintassi usata da Process Explorer.
"__Thread" � proprio il nome del servizio o � un thread creato da un 
servizio?
Da quello che hai scritto, sembrerebbe che un non meglio specificato thread 
si trovi nello stato "Wait User Request"; secondo me, � poco per poter 
tentare qualcosa.
Cristiano 

Locke. S. ha scritto:

Devi identificare qual'ï¿œ il servizio. Quello che hai riportato 
dice semplicemente che un oggetto sta aspettando che si liberi 
del tempo CPU per potere essere eseguito. La cosa strana ï¿œ che 
la data di creazione dell'oggetto e l'ora sono di poco 
precedenti il tuo messaggio. Questo mi fa sospettare che sia 
qualche cosa che ha a che fare con la connessione ad internet. 
Potrebbe essere anche un virus. Comunque supponendo che si 
tratti di un servizio vero, un modo per identificarlo, in Task 
Info potrebbe (dico potrebbe) essere questo. Nella finestra di 
TaskInfo illumina il servizio in questione; poi a destra nella 
finestra inferiore clicca su General (in alto a sinistra). La 
prima voce CMD ti dï¿œ la directory dell'eseguibile ( che potrebbe 
essere svchost.exe) ed i commandi col quale viene lanciato. 
Scrivili da qualche parte. Poi va in Strumenti di 
amministrazione->Servizi e con pazienza apri le proprietï¿œ di 
tutti finchï¿œ non trovi quello che corrisponde all'eseguibile ed 
ai commandi. Prima di disabilitarlo studia bene che cosa fa.
