[SQLCLR] Uporaba pomnilnika

Koliko pomnilnika ima na strežniku SQL 2005 na voljo CLR Host, ki skrbi za kompilacijo in izvajanje CLR metod? Toliko, kolikor mu ga dodeli strežnik. Vpogled v rabo pomnilnika omogoča sys.dm_os_memory_clerks.

Za načrtovanje SQLCLR rešitev pa je pomembno tudi vprašanje, koliko pomnilnika sploh sme biti dostopnega CLR Hostu. Za običajno rabo CLR na SQL strežniku - npr. skalarne funkcije, uporabniški tipi ipd. se ni potrebno posebej ukvarjati z razporejanjem pomnilnika, v primeru kompleksnejših primerov rabe CLR, pa je smiselno ob zagonu strežnika zagotoviti dovolj dodatnega pomnilnika, ki ga naj prepusti drugim svojim procesom (t.j. procesom, ki težejo na strežniku, vendar zunaj SQL Server memory poola).

S pravilno prerazporeditvijo pomnilnika v t.i. memToLeave (oz. po novem "memory_to_reserve") se lahko izognemo pojavu Virtual Address Space memory pressure (ta sicer povsem ustreza znani strogosti SQL Strežnika glede upravljanja s pomnilnikom), ki se manifestira kot signal CLR Hostu, naj sprosti pomnilnik, čeprav je fizičnega pomnilnika še dovolj.

Jasno, da je pametno take situacije sploh preprečiti - uporabljati CLR za pomnilniško manj zahtevne operacije, zlasti pa ne za operiranje z množicami ("set-based processing belongs to T-SQL").

Avtor: lmat74, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

fluethy
fluethy - torek, 27. avgust 2024

<a href=https://enhanceyourlife.mom/>buy priligy 60</a> In fact, the NCI US cancer trends progress report shows that the death rates for the four most common cancers prostate, breast, lung, and colorectal, as well as for all cancers combined, continue to decline and the rate of cancer incidence has also declined