Domanda

Ho un'applicazione web, che a volte si blocca. Voglio indagare la ragione, e ho bisogno di ottenere un dump della memoria del processo, quando si blocca.

Quindi la mia idea è quella di monitorare il sito, quando sto rilevando il blocco, voglio iniziare uno script bat che cattura il dump di memoria, quindi esegue IISRESET per riavviare in modo che il sito inizierà a rispondere nuovamente.

Il mio problema è, che ADPlus inizia un altro processo (cdb.exe) e restituisce immediatamente. Ho bisogno di aspettare per cdb.exe per finire, prima che io possa eseguire IISRESET. Esiste un modo per farlo in uno script batch? O, posso specificare sulla riga di comando ADPlus, che non dovrebbe tornare fino a quando il dump della memoria è stato raccolto?

È stato utile?

Soluzione

Per quanto riguarda la seconda parte della sua domanda, la risposta è sì: è possibile sia (1) indicare l'attesa sulla linea commmand (fino a quando si può accedere da e modificarlo); e (2) attendere un processo per finire in un file batch.

Nella loro forma più semplice, fare

(1) utilizzare START /WAIT cdb parms anziché solo cdb parms

(2) cercare FOR /F "tokens=1,2" %a in ('TASKLIST ^| FIND /I "cdb.exe"') DO @ECHO %a %b ed ECHO sostituto per il comando desiderato.

Altri suggerimenti

Per creare il dump della memoria della vostra applicazione web, il noreferrer Strumenti Microsoft Debug diagnostici sono la soluzione migliore.

È possibile creare una regola di "IIS Hang", il monitoraggio di un URL specifico, e la creazione di un dump di memoria ogni volta che nessuna risposta entro un determinato numero di secondi.

gli strumenti di debug di diagnostica non vi aiuterà per quanto riguarda il riavvio di IIS (o la vostra piscina app), ma in generale il built-in Application Pool opzioni di riavvio dovrebbero essere sufficienti per questo. Se assicurarsi "Enable Pinging" è impostato per la vostra AppPool (sulla sua scheda della Sanità), e anche di impostare gli altri parametri Salute / Recycling in modo appropriato, la vostra applicazione deve continuare a rispondere, non importa quello che succede.

In caso contrario, il monitoraggio della cartella di output con il crash dump dal vostro "IIS Hang" regola DebugDiag, e il riavvio di IIS ogni volta nuovi file appaiono sicuramente dovrebbe fare il trucco ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top