架构师_程序员_码农网

E Ambil kata sandi
Daftar

QQ登录

Hanya satu langkah untuk memulai

Cari
Melihat:3577|Membalas: 5
打印 上一主题 下一主题

Docker memodifikasi dan membatasi CPU kontainer, memori, dan sumber daya lainnya

[tautan salin]
A 跳转到指定楼层
pemilik
发表于 2022-8-6 13:55:37|只看该作者回帖奖励|MembalikkanPenjelajahan|Mode Baca
Persyaratan: Saat membuat kontainer docker, Anda dapat membatasi penggunaan memori maksimum kontainer dengan menambahkan parameter -m. Jika kontainer telah dibuat, bagaimana Anda dapat memodifikasi dan membatasi CPU, memori, dan sumber daya lainnya secara dinamis?

Melihat Batas Memori Kontainer

Komputer host memiliki stik memori 8G yang terpasang, dan tiga kontainer telah dibuat, di mana kontainer itsvse-redis dibatasi untuk menggunakan maksimum 512M memori, dan dua kontainer lainnya tidak dibatasi, seperti yang ditunjukkan pada gambar berikut:



Detail Format Pesan Keluaran

[CONTAINER]: Menampilkan ID kontainer dalam format singkat.
[CPU %]: Penggunaan CPU.
[MEM USAGE / LIMIT]: Memori saat ini yang digunakan dan memori maksimum yang dapat digunakan.
[MEM %]: Menampilkan penggunaan memori dalam format persentase.
[NET I/O]: Data I/O jaringan.
[BLOK I/O]: Data I/O disk.
[PIDS]: Nomor PID.

Perintah pembaruan docker

Perintah pembaruan docker memperbarui konfigurasi kontainer secara dinamis. Anda dapat menggunakan perintah ini untuk mencegah kontainer mengonsumsi terlalu banyak sumber daya dari host Docker mereka. Dengan menggunakan satu perintah, Anda dapat menetapkan batas untuk satu kontainer atau beberapa kontainer. Untuk menentukan beberapa kontainer, sediakan daftar nama atau ID kontainer yang dipisahkan dengan spasi.

OPSI Deskripsi

Nama
Deskripsi
--blocking-io-berat
Memblokir IO (bobot relatif), antara 10 dan 1000, 0 berarti dinonaktifkan (default dinonaktifkan).
--cpu-period
Membatasi periode CPU CFS (Penjadwal yang Sepenuhnya Adil)
--cpu-quota
Membatasi kuota CPU CFS.
--cpu-rt-period
API 1.25+ untuk membatasi waktu nyata CPU ke mikrodetik
--cpu-rt-runtime
API 1.25+, batasi waktu kerja CPU secara real-time ke mikrodetik
--cpu-shares, -c
Pembagian CPU (bobot relatif)
--cpus
API 1.29+, jumlah CPU
--cpuset-cpus
CPU yang diizinkan untuk dieksekusi (0-3, 0,1)
--cpuset-mem
MEM yang diizinkan untuk dieksekusi (0-3, 0,1)
--kernel-memory
Batas memori kernel
--memory-swap
Batas swap sama dengan memori ditambah swap, "-1" untuk mengaktifkan swap tak terbatas
--memory-reservatio
Batas lunak memori
--memory, -m
Batas memori
--batas pids
API 1.40+, sesuaikan batas pids kontainer (-1 berarti tidak ada batas)
--restart
Memulai ulang kebijakan untuk diterapkan saat kontainer keluar

Dokumentasi: https: //docs.docker.com/engine/reference/commandline/update/

Dengan asumsi bahwa kontainer php5-fpm dibatasi untuk menggunakan maksimum 1024M (1G) memori, perintahnya adalah sebagai berikut:



(Akhir)




Sebelumnya: Komunikasi lintas jendela PostMessage HTML5
Artikel selanjutnya: [转一篇]一句 Task.Result di jalan buntu, kode ini masih bagaimana cara menulisnya?
Jaringan petani kode, hanya diterbitkan dalam proses praktik, mengalami kesulitan teknis, jangan menyesatkan orang lain.
kaus
楼主| 发表于 2022-8-6 13:58:43|只看该作者
Jika Anda tidak menetapkan parameter --memory-swap, Anda mungkin akan mendapatkan kesalahan:

Tanggapan kesalahan dari daemon: Tidak dapat memperbarui kontainer ae7884f515f96cadab65668d6a44e13bb899c1e7fd411abcc88577a79d4302a3: Batas memori seharusnya lebih kecil dari batas memoryswap yang telah ditetapkan, perbarui memoryswap pada saat yang sama
Jaringan petani kode, hanya diterbitkan dalam proses praktik, mengalami kesulitan teknis, jangan menyesatkan orang lain.
penjualan sepatu bot ugg
kaus
楼主| 发表于 2022-8-6 14:31:57|只看该作者
Pertama kali saya melihat ini, saya melihatnya di Linux, dan saya melihatnya di Internet, dan saya melihatnya di Internet.
h ttps:// www.itsvse.com/thread-10260-1-1.html
Jaringan petani kode, hanya diterbitkan dalam proses praktik, mengalami kesulitan teknis, jangan menyesatkan orang lain.
penjualan sepatu bot ugg
lantai
发表于 2022-8-6 15:52:44|只看该作者
Saya tidak yakin apakah saya akan bisa melakukannya.
Jaringan petani kode, hanya diterbitkan dalam proses praktik, mengalami kesulitan teknis, tidak menyesatkan orang lain.
5#
楼主| 发表于 2023-7-1 21:46:50|只看该作者
Opsi runtime untuk memori Docker, CPU, dan GPU: https: //docs.docker.com/config/containers/resource_constraints/

--rincian penukaran memori

--memory-swap adalah flag pengubah yang hanya masuk akal jika juga disetel -memory. use-swap memungkinkan kontainer menulis kebutuhan memori berlebih ke disk ketika mereka telah menghabiskan semua RAM yang tersedia. Untuk aplikasi yang sering menukar memori ke disk, kinerja dapat menurun.

Pengaturannya dapat memiliki efek yang kompleks:

Jika --memory-swap diatur ke bilangan bulat positif. dan Kedua --memory harus --memory-swap diatur. --memory-swap menunjukkan jumlah total memori dan area swap yang dapat digunakan, dan --memory mengontrol jumlah memori area non-swap yang digunakan. Dengan demikian, jika --memory = "300m" dan --memory-swap = "1g", container dapat menggunakan 300m memori dan 700m (1g - 300m) ruang swap.

Jika --memory-swap diatur ke 0, pengaturan ini diabaikan dan nilainya dianggap tidak diatur.

Jika --memory-swap diatur ke nilai yang sama --memory dan --memory diatur ke bilangan bulat positif, maka container tidak memiliki akses ke swap. lihat Mencegah Container Menggunakan Swap.

Jika --memory-swap tidak disetel dan --memory disetel, maka kontainer dapat menggunakan swap --memory sebanyak yang disetel (jika kontainer host dikonfigurasi dengan memori swap). Sebagai contoh, jika --memory="300m" dan --memory-swap tidak disetel, kontainer dapat menggunakan total 600m memori dan ruang swap.

Jika --memory-swap secara eksplisit disetel ke -1, kontainer diizinkan untuk menggunakan swap tanpa batas, hingga jumlah yang tersedia pada sistem host.

Di dalam kontainer, alat bantu seperti free melaporkan swap yang tersedia pada hos, bukan swap yang tersedia di dalam kontainer. Jangan mengandalkan keluaran dari alat bantu gratis atau sejenisnya untuk menentukan apakah ada pertukaran.
Coder, hanya dipublikasikan dalam proses latihan, mengalami kesulitan teknis, jangan menyesatkan orang lain.
6#
楼主| 发表于 2024-2-16 04:07:22|只看该作者

Jika --memory-swap tidak disetel, dan --memory menetapkan nilai, default --memory-swap dapat menggunakan memori yang sama dengan --memory, misal, --memory=1G, lalu, --memory-swap=2G (yang sebenarnya menggunakan ruang swap 1G), dan pada akhirnya, container dapat menggunakan 2G ( --memori 1G + --memori-swap 1G) memori.

Ini berarti bahwa ketika --memory disetel, --memory-swap dapat diartikan sebagai batas total memori, dan ruang swap yang tersedia sama dengan memory-swap dikurangi nilai memori.

Untuk melihat konfigurasi --memory-swap container, gunakan perintah berikut:



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

Konfigurasi di atas adalah wadah yang membatasi memori --memory = 512M, dengan --memory-swap tidak disetel.
Jaringan petani kode, hanya dipublikasikan dalam proses latihan, mengalami kesulitan teknis, jangan menyesatkan orang lain.
Anda harus masuk sebelum dapat memposting kembali Masuk | Daftar

V ersi aturan integral iniB


PENAFIAN: Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer terbatas hanya untuk digunakan untuk tujuan pembelajaran dan penelitian; konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, semua konsekuensinya akan ditanggung oleh pengguna itu sendiri. Informasi situs ini berasal dari jaringan, sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus menghapus konten di atas sepenuhnya dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, mohon dukung perangkat lunak asli, beli registrasi dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email untuk menanganinya.

Mail To:help@itsvse.com

QQ | ( 鲁ICP备14021824号-2)|Peta Situs

GMT+8, 2024-9-19 04:56

Balas CepatKembali ke atasKembali ke daftar