ps
dapat memberi Anda informasi itu jika Anda meminta psr
kolom (atau gunakan -F
bendera yang menyertakannya).
Contoh:
$ ps -F $$
UID PID PPID C SZ RSS PSR STIME TTY STAT TIME CMD
me 6415 6413 0 5210 2624 2 18:52 pts/0 SN 0:00 -su
Atau:
$ ps -o pid,psr,comm -p $$
PID PSR COMMAND
6415 0 bash
Shell saya berjalan di CPU 2 saat saya menjalankan perintah pertama, di CPU 0 saat saya menjalankan perintah kedua. Berhati-hatilah karena proses dapat mengubah CPU dengan sangat cepat sehingga informasi yang sebenarnya Anda lihat pada dasarnya sudah basi.
Beberapa info lebih lanjut dalam jawaban pertanyaan Pengguna Super ini:
Linux:perintah untuk mengetahui nomor prosesor tempat proses dimuat?
Dengan top
dari procps
(umumnya default pada distribusi Linux saat ini), di top
, tekan f , buka P = Last User CPU (SMP)
dan tekan Spasi untuk memilih (Anda juga dapat memindahkan bidang misalnya sebelum COMMAND
dengan Kanan tombol dan kemudian bergerak ke atas dan ke bawah). q untuk kembali ke layar utama (di mana Anda akan melihat proses Anda berpindah dari prosesor ke prosesor kecuali Anda secara eksplisit mengonfigurasinya untuk tetap menggunakan satu). Anda dapat menekan W untuk menyimpannya sebagai default.
Tekan ? untuk bantuan.
Perintah taskset
adalah yang Anda cari:
set tugas - mengambil atau menyetel afinitas CPU proses
Contoh
$ taskset -p 12345
pid 12345's current affinity mask: f
Topeng f
berarti semua prosesor, 0x00000001
akan hanya prosesor 0.
$ taskset -c -p 24389
pid 24389's current affinity list: 0-3
Menunjukkan cpu dalam format daftar. Saya memiliki 4 inti di laptop saya dalam contoh ini.
Lihat halaman manual memiliki detail lebih lanjut.