Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 7160|Yanıt: 5

Docker, konteyner işlemcisi, bellek ve diğer kaynakları değiştirir ve kısıtlar

[Bağlantıyı kopyala]
Yayınlandı 6.08.2022 13:55:37 | | | |
Gereksinimler: Bir docker konteyneri oluştururken, -m parametresini ekleyerek konteynerin maksimum bellek kullanımını sınırlayabilirsiniz.

Gözden geçirici konteyner bellek sınırları

Ana bilgisayar bir 8G hafıza çubuğu kurar ve itsvse-redis konteynerinin maksimum belleği 512M ile sınırlandırılan 3 konteyner oluşturur; kalan iki konteyner ise aşağıdaki şekilde gösterildiği gibi kısıtlanmamıştır:



Çıkış bilgi formatının ayrıntılı açıklaması

[KONTEYNER]: Konteynerin kimliğini kısa bir biçimde gösterir.
CPU %: CPU kullanımı.
[MEM KULLANIMI/LIMITI]: Şu anda kullanılan bellek ve kullanılabilecek maksimum bellek.
[MEM %]: Bellek kullanımını yüzde olarak gösterir.
[NET I/O]: Ağ G/Çıkış verileri.
[BLOK I/O]: Disk G/Ç verisi.
[PIDS]:P Kimlik numarası.

Docker update komutu

Docker güncelleme komutu konteyner yapılandırmasını dinamik olarak günceller. Bu komutu kullanarak konteynerlerin Docker hostlarından çok fazla kaynak tüketmesini engelleyebilirsiniz. Tek bir komutla, tek bir konteyner veya birden fazla konteyner için sınır koyabilirsiniz. Birden fazla konteyner belirtmek için, boşluklarla ayrılmış bir konteyner isimleri veya kimlikleri listesi verin.

SEÇENEKLER Açıklama

ad
Açıklama
--blkio-ağırlık
IO (göreli ağırlık) bloklanırken, 10 ile 1000 arasında 0 devre dışı bırakılır (varsayılan bastırılmış)
--cpu-periyodu
CPU CFS (Totally Fair Scheduler) süresini sınırlayın
--CPU-kota
CPU CFS (Tamamen Adil Zamanlayıcı) kotalarını sınırlayın
--cpu-rt-periyot
API 1.25+, CPU gerçek zamanlı zamanını mikrosaniyelerle sınırlandırır
--cpu-rt-runtime
API 1.25+, CPU gerçek zamanlı çalışma süresini mikrosaniyelerle sınırlayır
--CPU paylaşımları, -c
CPU payı (göreli ağırlık)
--Cpu
API 1.29+, CPU sayısı
--cpuset-cpus
İzin verilen CPU (0-3,0,1)
--cpuset-mem
İzin verilen MEM (0-3,0,1)
--kernel-memory
Çekirdek bellek sınırları
--bellek değişimi
Swap sınırı, bellek artı swap ile eşittir, "-1" sınırsız takas etkinleştirmek için
--hafıza-rezervatio
Bellek yumuşak sınırı
--anı, -m
Bellek sınırı
--pids-limit
API 1.40+, konteyner PID'leri sınırlarını ayarlayın (-1 sınırsız demek)
--Yeni -den başlatın
Konteyner çıktığında uygulanacak politikayı yeniden başlatın

Belge:Bağlantı girişi görünür.

Diyelim ki php5-fpm konteynerini sınırlıyorsunuzMaksimum bellek kullanımı 1024M (1G), komut şöyledir:



(Son)




Önceki:HTML5 PostMessage pencere çapraz iletişimi
Önümüzdeki:[Dön] Bir cümle Görev. Sonuç kilitlenecek, bu kodu başka nasıl yazabilirim?
 Ev sahibi| Yayınlandı 6.08.2022 13:58:43 |
--memory-swap parametresini ayarlamazsanız, bir hata alabilirsiniz:

Daemon'dan hata yanıtı: Konteyner güncellenemiyor ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Bellek sınırı, önceden belirlenen bellek değişim limitinden daha küçük olmalı, Aynı zamanda bellek değişimini güncelletmek
 Ev sahibi| Yayınlandı 6.08.2022 14:31:57 |
Linux, CPU kullanımını simüle etmek için lookbusy kullanır
https://www.itsvse.com/thread-10260-1-1.html
Yayınlandı 6.08.2022 15:52:44 |
Öğrenmeyi öğren
 Ev sahibi| Yayınlandı 1.07.2023 21:46:50 |
Docker belleği, CPU ve GPU için çalışma zamanı seçenekleri:Bağlantı girişi görünür.

--bellek değişimi detayları

--bellek değişimi, yalnızca --bellek de ayarlanmışsa anlamlı olan bir modifikatör bayraktır. Bir konteyner tüm mevcut RAM'i kullandığında, swap kullanmak konteynerin fazla bellek gereksinimlerini diske yazmasına olanak tanır. Sık sık belleği diske aktaran uygulamalarda performans düşer.

Ayarları karmaşık etkilere sahip olabilir:

Eğer --memory-swap pozitif bir tam sayıya ayarlanmışsa, her iki --bellek de --memory-swap olarak ayarlanmalıdır. --memory-swap, kullanılabilecek toplam bellek ve swap bölgelerini temsil eder ve --memory, swap olmayan bölgelerde kullanılan bellek miktarını kontrol eder. bu yüzdenEğer --memory="300m" ve --memory-swap="1g" ise, konteyner 300m bellek ve 700m (1g - 300m) ile alan değiştirebilir.

Eğer --memory-swap 0 olarak ayarlanmışsa, ayar göz ardı edilir ve değer ayarlanmamış sayılır.

Eğer --memory-swap --memory ile aynı değere ayarlanmışsa ve --bellek pozitif bir tam sayıya ayarlanmışsa, konteynerin swap erişimi yoktur。 Konteynerlerin swap kullanmasını önlemeye bakınız.

Eğer --memory-swap ayarlanmamış ve --bellek ayarlanmışsa, konteyner (host konteyner swap bellek ile yapılandırılmışsa) swap --memory kadar kullanabilir. Örneğin, --memory="300m" ve --memory-swap ayarlanmadıysa, konteyner toplamda 600m bellek ve swap alanı kullanabilir.

Eğer --memory-swap açıkça -1 olarak ayarlanmışsa, konteyner ana sistemde mevcut olan sayısına kadar sınırsız sayıda swap kullanabilir.

Konteyner içinde, ücretsiz olarak sunucu için mevcut değişimler hakkında rapor vermek gibi araçlar, konteyner içindeki değişimler yerine rapor verir. Bir değişimin var olup olmadığını belirlemek için ücretsiz veya benzeri araçların çıktısına güvenmeyin.
 Ev sahibi| Yayınlandı 16.02.2024 04:07:22 |

Eğer --memory-swap ayarlanmadıysa,-- bellek bir değere ayarlanır,--memory-swap varsayılanı, --memory ile aynı belleği kullanabilirÖrneğin, ,-- bellek değişimi=1G varsa, 1G swap alanı kullanabilirsiniz ve son olarak konteyner 2G bellek kullanabilir (--memory 1G alan + --memory-swap 1G alan).

Bu, --bellek ayarlandığında,-- bellek değişiminin toplam bellek sınırı olarak anlaşılabileceği ve mevcut swap alanının bellek değişimi değeri olarak eşit olduğu anlamına gelir.

Aşağıdaki komutla konteyner --memory-swap yapılandırmasına bakın:



"Hafıza": 536870912, // 512M=536870912/1024/1024/1024
"MemoryReservation": 0,
"MemorySwap": 1073741824, // 1G=1073741824/1024/1024/1024
"MemorySwappiness": null,

Yukarıdaki yapılandırma, konteynerin belleği sınırladığı --memory=512M ve --memory-swap ayarlanmamış durumdadır.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com