Op een Windows 2000/IIS 5 server waar een redelijk aantal sites op worden gehost heb ik sinds enige tijd het probleem dat na verloop van tijd het geheugengebruik steeds blijft toenemen, wat volgens mij met name door het proces dllhost.exe wordt veroorzaakt. Vandaag was het zelfs zo, dat dit proces meer dan 100 mb had gealloceerd en daarbij gebruikte dit proces nu ook continue vrijwel 100 % processortijd. Een keer de server rebooten loste het probleem nu wel op, maar ik zou dit natuurlijk in de toekomst wel willen voorkomen. Nu heb ik al begrepen dat dllhost.exe voor de uitvoering van asp scripts zorgt, wat ik dus vermoed is dat er een fout script op de server draait, die een memory leak bevat en die er vandaag voor zorgde dat er zoveel processortijd werd gebruikt. Is er nu een gerichte methode om te achterhalen welk script dat zou kunnen zijn? Je kunt immers niet zien wel script al die processortijd gebruikt, je ziet alleen dat dat ene proces dat doet..
Verwijderd
ik ben niet zo bekend met asp maar kun je een script killen? anders is het misschien een manier als het weer gebeurd gewoon script voor script te killen totdat alles ineens weer ok is?
Ff gezocht met google.
Blijkt dat DLLHOST.EXE zorgt voor ADO en COM enzo.
Bij de eerste keer dat het gebruikt wordt,zal DLLHOST aangeroepen worden en het nodige mem geruiken.
Dit geeft 'ie vervolgens NIET meer vrij.
Wel zou het dan zo moeten zijn dat er bij een identieke aanroep weinig tot geen wijziging in het geheugen gebruik ervan optreed.
Als ie 100 Mb dus constant is, heb je gewoon een grte DB/actie/whatever dunkt mij.
Kan zijn dat ik nu onzin brul, maar dat vond ik zo snel op inet.
Blijkt dat DLLHOST.EXE zorgt voor ADO en COM enzo.
Bij de eerste keer dat het gebruikt wordt,zal DLLHOST aangeroepen worden en het nodige mem geruiken.
Dit geeft 'ie vervolgens NIET meer vrij.
Wel zou het dan zo moeten zijn dat er bij een identieke aanroep weinig tot geen wijziging in het geheugen gebruik ervan optreed.
Als ie 100 Mb dus constant is, heb je gewoon een grte DB/actie/whatever dunkt mij.
Kan zijn dat ik nu onzin brul, maar dat vond ik zo snel op inet.
Ik heb dit ook eens gehad, ik heb het probleem toen echt moeten opzoeken, super veel werk, maarja..
Volgens mij is er geen andere manier.
Volgens mij is er geen andere manier.
weinig tot niks..
Verwijderd
Wat je kan doen is je websites in High Isolation draaien. Dan krijgt elke site een aparte DLLHost. Wanneer er dan 1 dllhost.exe erg veel geheugen inneemt, kun je elke site een voor een af en de dllhost uit het geheugen gooien door op Unload Application te drukken. Zo kun je in ieder geval achterhalen welke site het probleem geeft.
Je kan dacht ik ook achterhalen welk script blijft hangen (of lange tijd nodig heeft), maar kan even zo snel niet meer vinden hoe dat kon. Ga ik even naar op zoek.
Je kan dacht ik ook achterhalen welk script blijft hangen (of lange tijd nodig heeft), maar kan even zo snel niet meer vinden hoe dat kon. Ga ik even naar op zoek.
Je zou de scriptfiles kunnen loggen op waarneer zij gelezen worden.
Als je dan ook weet op welk moment de CPU het moeilijk krijgt dan weet je iig welke scripts er zijn gedraait rond dat moment.
Als je dan ook weet op welk moment de CPU het moeilijk krijgt dan weet je iig welke scripts er zijn gedraait rond dat moment.
Powered bij meergranenbrood.
Pagina: 1