GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Membatasi Proses Ke Satu Cpu Core Di Linux??

Pertanyaan ini sudah memiliki jawaban di sini :Bagaimana cara mengatur afinitas prosesor dari suatu proses di Linux?

(4 jawaban)
Tutup 3 tahun lalu.

Bagaimana cara membatasi proses ke satu inti cpu?

Sesuatu yang mirip dengan ulimit atau cpulimit akan menyenangkan. (Hanya untuk memastikan:Saya TIDAK ingin membatasi persentase penggunaan atau waktu eksekusi. Saya ingin memaksa aplikasi (dengan semua turunannya, proses (utas)) untuk menggunakan satu inti cpu (atau 'n' inti cpu)).

Jawaban yang Diterima:

Di Linux, jalankan sched_setaffinity panggilan sistem. Afinitas suatu proses adalah kumpulan prosesor yang dapat menjalankannya. Ada pembungkus shell standar:taskset . Misalnya, untuk menyematkan proses ke CPU #0 (Anda harus memilih CPU tertentu):

taskset -c 0 mycommand --option  # start a command with the given affinity
taskset -c -pa 0 1234            # set the affinity of a running process

Ada modul pihak ketiga untuk kedua Perl (Sys::CpuAffinity ) dan Python (affinity ) untuk mengatur afinitas proses. Keduanya berfungsi di Linux dan Windows (Windows mungkin memerlukan modul pihak ketiga lainnya dengan Sys::CpuAffinity ); Sys::CpuAffinity juga berfungsi pada beberapa varian unix lainnya.

Jika Anda ingin menyetel afinitas proses dari saat kelahirannya, setel afinitas proses saat ini segera sebelum memanggil execve . Berikut ini pembungkus sepele yang memaksa proses untuk dieksekusi pada CPU 0.

#!/usr/bin/env perl
use POSIX;
use Sys::CPUAffinity;
Sys::CpuAffinity::setAffinity(getpid(), [0]);
exec $ARGV[0] @ARGV

Linux
  1. Cara menginstal vtop di Linux

  2. Linux – Bagaimana Cara Mengatur Afinitas Prosesor Suatu Proses Di Linux?

  3. Bagaimana saya bisa mengatur afinitas prosesor dari suatu proses di Linux?

  1. Bagaimana cara membatasi proses ke satu inti CPU di Linux?

  2. Bagaimana cara mengubah semua utas (dan anak-anak) dari satu proses di Linux?

  3. Linux:bagaimana cara mengetahui proses mana yang disematkan ke inti mana?

  1. Cara mematikan proses zombie di Linux

  2. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  3. Bagaimana cara mengatur afinitas CPU untuk proses dari C atau C++ di Linux?