Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


dllhost.exe och hög CPU-last

Postades av 2004-02-03 15:02:10 - Jesper Abrahamsson, i forum asp.net generellt, Tråden har 10 Kommentarer och lästs av 787 personer

Har skrivit ett datalager som en COM+-komponent i VB.NET och när jag kör koden i kundens miljö så ligger dllhost.exe och drar massa CPU-kraft (60%) både när komponenten används och även när jag har stängt av min klient.

När jag stänger ner COM+-applikationen försvinner dllhost.exe från process-listan, men när jag startar den igen så kommer den upp igen och lägger sig på 30% CPU-last. Väldigt märkligt...

Någon som har en aning om vad detta kan vara?

/Jeppe


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-03 15:16:35 - Pelle Johansson

dllhost.exe är för alla trådar du har öppet mellan klienten och webbservern. Även de trådar som finns mellan webbserver och databaslager om jag inte minns fel.

Om din dll drar 60% av lasten kan det vara så att du skrivit dina connections felaktigt, inte sätter objekten till nothing efter de använts på aspsidan osv.

Ju fler som surfar till siten, desto fler dllhosts.exe dras också igång. Minskar besöken och timeout är gjort på många användare minskar även antalet hosts.

Testa att inte kalla några databasrutiner i din dll som ligger och se om storleken minskar avsevärt - då är det connectionsträngar och dataanslutningar som du bör titta på.


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-03 16:03:55 - Raderat konto

Hej,

Min applikation som använder COM+-komponenten (distribuerade transaktioner) är en Windows-applikation och jag framkallar detta fel med en enda instans av klienten. Jag använder tre olika klasser från COM+-komponenten i ett affärslager som klienten använder och alla objekt sätts till Nothing.

Jag får inte detta fenomen på min utvecklingsmaskin, men en skillnad är att jag kör XP med COM+ 1.5, medan kundmaskinen kör Windows 2000 med COM+ 1.0.

Funderar även på om det kan vara GC som strular.


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-03 20:39:06 - Jesper Abrahamsson

Hej,

Applikationen som använder datalagret är ingen web-applikation utan en Windows-klient. Eller egentligen är det ett affärslager mellan klienten och datalagret också. I vilket fall som helst har jag kollat att alla objekt sätts till Nothing.

Jag kan ju tillägga att detta fenomen inte uppstår på min utvecklingsdator som är XP Pro (COM+ 1.5) utan på en Windows 2000 (COM+ 1.0) och kanske kan det vara någon sorts inkompatibilitet där emellan?

Funderade ett tag på om det kunde vara GarbageCollection som strulade, men processen håller sin höga CPU-last även när jag provar att köra GC.Collect.

Är även lite osäker på hur en korrekt uppstädning av COM+-objekt skall gå till. Räcker det med Nothing eller behöver man även köra Dispose. Någon som vet?

/Jeppe

Tillägg: Varför ser jag inte denna tråd bland "Trådar som du inte avslutat."?


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-15 13:46:41 - Daniel Petersson

Hej,

Sannolikheten för att något inte är kompatiblet är väldigt
liten, sannolikt är det du som har gjort fel på något sätt.

Börja med att undersöka vad din COM+ applikation håller
på med. Attacha en debugger till dllhost.exe och kika på
vilka trådar som exekverar, du kan prova att "frysa" dem
genom att högerklicka på tåden och välja freeze.

Gå så igenom de trådar som exekverar där och undersök
och du kan hitta vilken det är som äter upp din cpu tid.

Jobbar du med serviced komponents så BÖR du alltid anropa
Dispose.

Hoppas det hjälper, Daniel


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-25 14:01:59 - Jesper Abrahamsson

Hej,

Jag kan framkalla detta felet utan att applikationen gör något arbete. Det räcker att jag kör nedanstående klient-kod för att CPU:n skall dra iväg.

Klient (knapp-kod):
<code>Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As New DALTestDAL.Transaction1()

x.MyMethod()

x.Dispose()
x = Nothing
End Sub</code>

COM+-klassen:
<code>' Transaction1
Imports System.EnterpriseServices
Imports System

' The Transaction attribute makes your class transaction aware. Your class can set the transactional type of your
' object to one of the following:
'
' Required
' Required New
' Supported
' Not Supported
' Disabled

<Transaction(TransactionOption.Supported)> _
Public Class Transaction1
Inherits ServicedComponent

' Implement the methods of your class here.
'
' Transactional components use the ContextUtil object to notify the caller as to whether or not
' they completed successfully. If the transaction could succeed, the method should set
' ContextUtil.SetComplete. If the transaction cannot succeed, the method should set
' ContextUtil.SetAbort.
'
Public Sub MySub()
Try
' Code to do transactional work here.
' No errors. Declare that the transaction can complete with SetComplete
ContextUtil.SetComplete()
Catch ex As Exception
' An exception was thrown while processing the transaction.
' The transaction cannot complete and calls SetAbort.
contextutil.SetAbort()
End Try
End Sub

' Instead of explicitly setting the ContextUtil state, methods in a transactional class can take the
' AutoComplete attribute. If the method returns successfully, SetComplete will be called.
' If the method throws an exception, SetAbort will be called.
'
<AutoComplete()> _
Public Sub MyMethod()
End Sub

End Class</code>


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-25 14:24:14 - Daniel Petersson

mycket konstigt, jag ser ju inga felaktigheter i din kod.
Vad hittar du för trådar i dllhost.exe om du fäster en
debugger på den?


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-25 14:58:24 - Jesper Abrahamsson

Har tyvärr inte Visual Studio installerat på test-servern. Jag får titta på remote debugging och återkomma senare.

Tillägg:
Nu har jag fått igång remote debugging och kan komma åt processen i Visual Studio på min dator, men jag ser inget sätt att se vilka trådar som körs. Något tips om hur man gör? Skall jag använda debuggern i Visual Studio?


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-25 20:06:50 - Daniel Petersson

titta under debug menyn, windows, threads.

tryck på pause för att bryta processen och titta på vilka trådar
som finns i ditt fönster

gör det ett par gånger och prova även att frysa de olika
trådarna för att se vilken/vilka som suger upp din processorkraft.

du pausar genom freeze som finns som högerklick i tråd fönstret


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-26 08:25:00 - Jesper Abrahamsson

Hej,

Har grejat lite med debuggingen nu och jag vet inte om jag blir klokare.

När jag kör igång mitt test-program på servern får jag två dllhost.exe-processer. Den ena har username = SYSTEM och den andra har username = Administrator. Jag är inloggad som Administrator. På den process som system äger ligger CPU-lasten på runt 70-60% och på den andra ligger lasten på runt 40-30%.

Om jag startar mitt VB-projekt på min utvecklingsdator och gör attach på de två server-processerna och sedan pausar VB-programmet så kan jag välja bland processerna i knappraden Debug Location. Om jag väljer dllhost.exe med system som ägare så ser jag inga trådar. Den andra processen kan jag välja två gånger i combo-boxen, DLLHOST.EXE: T-SQL och DLLHOST.EXE: DefaultDomain. På de processer som heter DLLHOST.EXE: T-SQL ser jag inga trådar och på DefaultDomain ser jag fem trådar varav en har Location = System.EnterpriseServices.ServicedComponentProxy::QueueCleaner. Om jag provar att frysa alla trådar på samma gång händer ingenting med CPU-lasten.

Kan jag göra något mer för att hitta orsaken på detta sätt eller kan det hjälpa mig mer om jag installerar Visual Studio på servern för att se om jag får samma fenomen när jag kör koden från VS?


Svara

Sv: dllhost.exe och hög CPU-last

Postades av 2004-02-27 09:38:19 - Jesper Abrahamsson

Komplettering av info:

Har nu testat samma kod på en nyinstallerad 2003-server och där uppträder inte detta CPU-fenomen alls.

Har även testat på en tredje W2K-server (både med SP3 och SP4) och CPU-lasten drar iväg...


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
1 158
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies