GNU/Linux >> Belajar Linux >  >> Linux

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

Gunakan sched_setaffinity di tingkat proses, atau pthread_attr_setaffinity_np untuk masing-masing utas.


Anda perlu menggunakan sched_setaffinity(2) .

Misalnya, untuk berjalan di CPU 0 dan 2 saja:

#define _GNU_SOURCE
#include <sched.h>

cpu_set_t  mask;
CPU_ZERO(&mask);
CPU_SET(0, &mask);
CPU_SET(2, &mask);
int result = sched_setaffinity(0, sizeof(mask), &mask);

(0 untuk parameter pertama berarti proses saat ini, berikan PID jika itu adalah proses lain yang ingin Anda kontrol).

Lihat juga sched_getcpu(3) .


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

  2. Cara mendapatkan total penggunaan cpu di Linux menggunakan C++

  3. Cara mengatur alamat IP dari C di linux

  1. Bagaimana cara menggunakan sched_getaffinity dan sched_setaffinity di Linux dari C?

  2. Cara mengatur ID proses di Linux untuk program tertentu

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

  1. Cara Membatasi Penggunaan CPU Suatu Proses Di Linux

  2. Linux – Bagaimana Cara Berhenti Berbagi Jaringan Untuk Proses Saat Ini?

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