GNU/Linux >> Belajar Linux >  >> Linux

Penggunaan CPUQuota di systemd

Cara alternatif untuk membatasi penggunaan cpu:1. Gunakan perintah kumpulan tugas.2. Gunakan grup kontrol.3. Gunakan buruh pelabuhan dan batasi pemanfaatan cpu dengan menggunakan cpuset.4. Kurangi jumlah utas dalam aplikasi. Beberapa perhitungan diperlukan dengan pendekatan ini.


Hal lain yang dapat Anda coba adalah menjalankan cpulimit sebagai daemon. Saya belum menguji ini; itu hanya sebuah ide.

Itu ada di repo ubuntu:

sudo apt install cpulimit

Gunakan systemd jika Anda suka. Ini harus membatasi semua contoh dd hingga 20% CPU.

[Unit]
Description=dd CPU Limiter

[Service]
ExecStart=/usr/bin/cpulimit -e dd -l 20

[Install]
WantedBy=multi-user.target

sumber


Saya tidak sengaja menemukan jawaban valid lain yang diberikan di https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu -spe

Jika Anda menginginkan batasan keras pada bandwidth CPU, Anda dapat menggunakan cpu.cfs_quota_us dan cpu.cfs_period_us. Dari dokumen CFS Kernel:

Bandwidth yang diizinkan untuk grup ditentukan menggunakan kuota dan periode. Dalam setiap "periode" (mikrodetik) yang diberikan, sebuah grup hanya diperbolehkan menggunakan hingga "kuota" mikrodetik waktu CPU. Saat konsumsi bandwidth CPU suatu grup melebihi batas ini (untuk periode tersebut), tugas-tugas yang termasuk dalam hierarkinya akan dibatasi dan tidak diizinkan untuk berjalan lagi hingga periode berikutnya.


Linux
  1. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  2. Linux – Bagaimana Cara Mengatur Afinitas Cpu Default Untuk Semua Daemon Di Systemd?

  3. Bagaimana cara menggunakan Systemd untuk memulai kembali layanan saat down?

  1. Batasi memori dan cpu dengan lxc-execute

  2. Cara menggunakan iptables atau tc untuk membatasi paket per klien.

  3. Apakah ada cara untuk membatasi konsumsi CPU secara keseluruhan?

  1. Gunakan pengatur waktu systemd alih-alih cronjobs

  2. Cara Menggunakan Perintah Systemctl untuk Mengelola Layanan Systemd

  3. Cara yang tepat untuk menggunakan OnFailure di systemd