Bilog v1.3

Loading

Powered By Yavuz MERCAN

.net core 2.0 bellek sorununun çözümü - Yavuz MERCAN

.net core 2.0 bellek sorununun çözümü

.net core 2.0 bellek sorununun çözümü
Yavuz MERCAN - 30.7.2019

Merhaba arkadaşlar,

Bu makalemde sizler .net core 2.0 da sunucu üzerindeki çok yoğun memory kullanımının çözümünden bahsetmeye çalışacağım.

Öncelikle yaşanılan sorundan bahsetmeye çalışacağım. .Net Core 2.0 ile yapılmış wep api servisi ayağa kalktıktan belli bir süre sonra çok fazla memory tüketmeye başlıyordu. Artan bir şekilde yükselmeye devam ediyordu. Hatta kullandığı memory zaman zaman 25 gb ları buluyordu ve applicaton pool restart edilmeden memory den düşmüyordu.

.NET Core 2.0 bellek sorunlarının giderilmesinde uygulayabileceğiniz basit bir çözüm bulunmaktadır. Garbage Collection ayarlarını değiştirerek bu sorunu aşabilirsiniz. Araştırmalarıma göre bu durum .net core 2.1 de çözülmüş gibi duruyor.

Visual Studio 2015 için project.json dosyasındaki "System.GC.Server" öğesini "true" dan "false" a dönüştürün:

"runtimeOptions": {

  "configProperties": {

    "System.GC.Server": false

  }

}

Visual Studio 2017 de bu ayarlar "xxxxxxx.csproj" dosyasına taşındığından , "ServerGarbageCollecton" XML değerini "true" dan "false" a dönüştürün.

<PropertyGroup>

    <ServerGarbageCollection>false</ServerGarbageCollection>

</PropertyGroup>

Proje dosyanıza sağ tıklayıp Edit "xxxxxxx.csproj" yazan alana tıklayarak bu ayarları görebilirsiniz.
Bu işlemleri yaptıktan sonra projenizi tekrar publish edin.

Bunun nedeni Mark Vincze'ye göre :
Memory deki bu artış CPU sayısı, Server Garbage Collection ile .NET'in kullanacağı bellek miktarını büyük ölçüde etkilemesidir.

Bu değerin değiştirilmesi, .NET Core uygulamanızın kullanacağı bellek miktarını azaltmalıdır.

Umarım faydalı bir makale olmuştur.
Herkese Kolay Gelsin

Yazıyı Paylaşın

Yorum Yapınız

E-mail adresi yazılmayan yorumlar onaylanmamaktadır.*

add
close

Son Twitlerim

Etiketler

Beni Takip Edin