Cara mendeteksi apakah isolcpus diaktifkan dan pada cpus mana, ketika misalnya Anda terhubung untuk pertama kali pada server. Kondisi:
tidak menelurkan proses apa pun untuk melihat di mana ia akan dimigrasi.
Kasus penggunaan adalah bahwa isolcpus=1-7
pada core 6 i7, tampaknya tidak mengaktifkan isolcpus saat boot, dan saya ingin tahu apakah itu mungkin dari /proc/
, /sys
atau internal kernel yang dapat dibaca di userspace, untuk memberikan status aktivasi yang jelas dari isolcpus dan cpu mana yang terkait. Atau bahkan membaca pengaturan aktif penjadwal yang pertama kali diperhatikan oleh isolcpus.
Pertimbangkan uptime sangat besar, yang dmesg
tidak lagi menampilkan log boot untuk mendeteksi kesalahan saat startup. Jawaban dasar seperti " lihat kernel cmd line " tidak akan diterima :)
pidstat
dan isolcpus
. Bisakah Anda menguraikan lebih banyak?
isolcpus
itu, tetapi pidstat
dapat memberi tahu Anda apa proses CPU sedang berjalan jika Anda melewati -C process_name
flag. Misalnya pidstat -C top
menghasilkan yang berikut ini. 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
adalah parameter kernel yang memaksa penjadwal untuk tidak memigrasi proses apa pun dengan sendirinya jika mereka terisolasi. Contohnya pada server 8 cpu, isolcpus=1-7
di baris perintah kernel, akan memaksa semua proses spawned yang bercabang oleh init dan segala jenis perintah di shell untuk berjalan hanya pada CPU0. Untuk menjalankan tugas pada cpu yang terisolasi, Anda harus menjalankannya dengan taskset
contoh. Jadi sehubungan dengan apa yang saya tanyakan, sepertinya jawaban Anda di luar topik. Terima kasih sudah mencoba menjawab saya
pidstat -C isolcpus
. pidstat berasal darisysstat
paket.