AWS’de Windows’tan Linux örneklerine taşıdığım bir .NET (Core 2.0) hizmetim var. Örnekler 1GB RAM ile mikro.
Linux örneğine 1 Gb takas alanı ekledim ve ayrıca swappiness = 100 olarak ayarladım ancak fiziksel bellek dolduğunda sunucu donuyor. İşlem neredeyse durma noktasına kadar yavaşlar ve bash üzerinde ENTER tuşuna basmak bazen yeni satırın görünmesi için 10 saniye sürebilir.
Çalışan topboş belleği genellikle 10-20 MB olarak görüyorum. 800Mb + RAM kullanan ve takas eden işlem, 20mb maks. Oraya bir saat izin vermek bile daha fazlasını değiştirmedi.
AWS'deki Disk ve CPU kredilerinin neredeyse% 100 olduğunu görebiliyorum, bu nedenle kaynak kullanımını sınırlandırmıyor. Ayrıca, bu yüzlerce örnek var ve onları birkaç kez değiştirdim, davranış her zaman aynı, bu yüzden kötü bir örnek problemi gibi görünmüyor .
Beni rahatsız eden şey, bunun pencerelerde olmamasıydı ve linux örnekleri temel sistem için yaklaşık 200 MB daha az bellek kullanıyor.
Linux takas için daha fazla bellek taşımak yapmak için swappiness dışında çimdik gereken herhangi bir ayar var mı?
Düzenleme: Swap cloud-init ile doğru şekilde kuruluyor ve hayatta kalmaya devam ediyor:
Kurmak:
fallocate -l 1024M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
sysctl vm.swappiness=100
free -m açılıştan sonra:
total used free shared buffers cached
Mem: 993 232 760 0 7 152
-/+ buffers/cache: 72 921
Swap: 1023 0 1023
swappinessdeğeriniz çok yüksektir, bu da sık erişilen programların değişip başka programların dışlanabileceği anlamına gelir. En uç noktayı deneyin ve etkiyi görmek için ayarlayın swappiness=10( sudo sysctl vm.swappiness=10geçici değişiklik için): bu sıkça adlandırılan işlemlerin değişmesini durdurmalıdır.
free -hmiktarını kontrol etmek için koşun ; ya da hem belleğinizin hem de takasın dolu olabileceği şeklinde olabilir (1GB, özellikle sınırlı belleğiniz varsa, takas dosyası için oldukça küçüktür). Bu bağlantı , Ubuntu için nasıl ayarlayacağınızı anlatıyor, ancak sanırım diğer Linux lezzetleri için benzer olacak kadar basit bir fonksiyon.