NET Internals - WordPress.com

Transkript

NET Internals - WordPress.com
.NET Internals 2/3
Garbage Collector
Robert Haken
MVP ASP.NET/IIS | MCT
@Robert Haken, [email protected]
http://knowledge-base.havit.cz
AGENDA
Architektura paměti .NET aplikací
Managed Heap a Garbage Collection
Roots
Generations
Finalization, IDisposable
Large Object Heap
Verze Garbage Collectoru
Architektura paměti .NET aplikací
Instrukční paměť
Zásobník (Stack)
Halda (Heap)
– Managed Heap (.NET, Garbage Collector)
– Native Heap (Unmanaged Resources)
DEMO
Halda (Managed Heap)
Garbage Collector ~ 1959 LISP
Garbage Collection
– překročení thresholdu generace při alokaci
– systém-wide memory pressure
– GC.Collect() API (never-ever!)
sesypání, update referencí
DEMO
Roots
kořeny grafu objektů pro zjištění dosažitelnosti
– zásobník (lokální proměnné, parametry)
– registry CPU
– GCHandles
• globální statické fieldy
• pinned objects
• ...
– F-reachable queue
DEMO
Generations
výkonová optimalizace
soustředí se objekty s krátkou životností
Gen 0 – nové, Gen 1 & 2 – přežili 1/více-krát
Gen 0 + 1 = ephemeral segment (fixed size)
Gen 2 = variable size
DEMO
Finalization
explicitní úklid unmanaged zdrojů
Finalize() ~ C# destructor
Finalization Queue => vždy Gen 1
F-reachable Queue
Finalization Thread
IDisposable, ResourceWrapper pattern
DEMO
Large Object Heap
výkonová optimalizace
objekty větší než 85 000 bytů (default)
nepřesouvají se => fragmentace
Verze Garbage Collectoru
Workstation (lag) vs. server (throughput)
CLR 4.0 – background GC (wks only)
Advanced .NET Debugging
dnes, 15:45, Dev Hall
Robert Haken
MVP ASP.NET/IIS | MCT
@Robert Haken, [email protected]
http://knowledge-base.havit.cz

Podobné dokumenty

C_007_Real-time PCR cycler_LC

C_007_Real-time PCR cycler_LC Verze: 1.0 Datum poslední revize: 28.7.2014

Více

CS9000HPX II Návod

CS9000HPX II Návod NORMAL při běžných podmínkách v lokalitě. Dosáhnete tak adekvátního dosahu a stability přístroje. Pokud je přístroj rušen případnými interferencemi, bude nutné ovladač nastavit do polohy MIN., Poku...

Více

Prezentace

Prezentace Optimalizace databázových aplikací Robert Haken, HAVIT, s.r.o., Microsoft MVP ASP.NET, MCT

Více

Nastavení real-time PCR cykleru LC 480

Nastavení real-time PCR cykleru LC 480 • V módu „Quantification“ zvolte možnost „Monocolor Hydrolysis Probe“ a při spouštění runu pak vyberte fluorescenční kanál FAM (465-510) Nezadávat volbu Color Compensation (ta je pro HRM a melting)...

Více

Nokta Fors Core navod

Nokta Fors Core navod Společnost Nokta se zabývá výrobou detektorů kovů již od roku 2001 a hraje klíčovou roli při rozvoji tohoto odvětví, především díky používané špičkové technologii a profesionálnímu přístupu. Společ...

Více

Instruktážní manual - Detektor kovu Tesoro

Instruktážní manual - Detektor kovu Tesoro dobrých cílů. Princip je velmi jednoduchý. Detektor vysílá signál a následně jej přijímá vytvořením malého elektromagnetického pole. Jakmile se v tomto poli objeví jakýkoli kovový předmět, detektor...

Více

Marek Mlejnský – výroba servis a prodej

Marek Mlejnský – výroba servis a prodej po směru hodinových ruček, přešli byste bod vyvážení. Přiblížením cívky k zemi pak bude detektor tichý a s jejím zdvihnutím tón thresholdu zesílí. To znamená, že byste měli GND adjust vrátit jemně ...

Více