Proses apa yang mengontrol afinitas CPU dari proses python baru


2

Saya menulis kode untuk mengatur afinitas setiap proses di bawah nama pengguna saya ke inti 0 saja. Saya menjalankan kode ini, dan kemudian keluar setelah selesai.

Kemudian, bahkan ketika saya meluncurkan terminal baru, dan membuka python dengannya, afinitasnya masih tetap pada inti 0. Perilaku default yang diharapkan adalah agar shell python yang baru diluncurkan memiliki afinitas pada inti 0 dan inti 1 tentu saja .

Ini tidak terjadi bahwa ada sesuatu yang menyebabkan semua proses python memiliki afinitas CPU yang sama - saya memverifikasi ini dengan mengatur dua proses python yang berbeda untuk dua core yang berbeda.

Eksperimen lain yang saya jalankan adalah mengatur afinitas hanya proses python ke core 0 (semua proses lainnya tidak tersentuh). Kemudian, ketika saya meluncurkan shell python baru, afinitasnya masih normal (tidak tetap hanya 0). Ini menunjukkan bahwa ada beberapa proses non-python khusus yang mengatur afinitas CPU dari proses python baru.

Pertanyaan saya adalah: apa proses khusus ini?

Untuk referensi, untuk mengatur dan memeriksa afinitas CPU, saya menggunakan psutil.Process.cpu_affinitydari psutilperpustakaan python .


2
Jika Anda menulis kode, untuk mengatur afinitas setiap proses ke inti 0, mengapa Anda terkejut bahwa proses python baru diatur ke inti 0?
Ramhound

Karena saya mengatur afinitas setiap proses yang ada ke inti 0 - yang seharusnya tidak memiliki efek pada afinitas dari setiap proses baru yang dimulai setelahnya. Kode tidak dapat menyentuh afinitas proses baru karena proses tersebut tidak ada pada saat kode dijalankan.
shimao

4
Jika Anda berhasil mengatur afinitas setiap proses ke 0, maka setiap proses anak (dari python apa pun yang digeber atau terminal Anda) mungkin mewarisi afinitas itu. Jika Anda hanya ingin memengaruhi terminal yang meluncurkan python, maka Anda seharusnya hanya mengubah afinitas terminal
Mokubai

1
Saya melihat. Saya mengkonfirmasi ini untuk diri saya sendiri dan menemukan bahwa bash diluncurkan dari xfterminal, yang merupakan anak dari xfsettingsd, yang merupakan anak dari proses init. xfsettingsd memiliki afinitas yang ditetapkan ke 0, yang menjelaskan semuanya.
shimao
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.