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-7pada core 6 i7, tampaknya tidak mengaktifkan isolcpus saat boot, dan saya ingin tahu apakah itu mungkin dari /proc/, /sysatau 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 dmesgtidak lagi menampilkan log boot untuk mendeteksi kesalahan saat startup. Jawaban dasar seperti " lihat kernel cmd line " tidak akan diterima :)
pidstatdan isolcpus. Bisakah Anda menguraikan lebih banyak?
isolcpusitu, tetapi pidstatdapat memberi tahu Anda apa proses CPU sedang berjalan jika Anda melewati -C process_nameflag. Misalnya pidstat -C topmenghasilkan 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
isolcpusadalah parameter kernel yang memaksa penjadwal untuk tidak memigrasi proses apa pun dengan sendirinya jika mereka terisolasi. Contohnya pada server 8 cpu, isolcpus=1-7di 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 tasksetcontoh. Jadi sehubungan dengan apa yang saya tanyakan, sepertinya jawaban Anda di luar topik. Terima kasih sudah mencoba menjawab saya
pidstat -C isolcpus. pidstat berasal darisysstatpaket.