Apakah ada perintah di Linux untuk mengetahui nomor prosesor di mana suatu proses dimuat?

26

Apakah ada perintah di Linux untuk mencari tahu, diberi proses, prosesor mana yang sedang berjalan? Saya tertarik mencari tahu sibuk CPU dan waktu idle CPU prosesor itu.

kumar
sumber

Jawaban:

32

Anda dapat menggunakan psperintah untuk menanyakan dan menampilkan prosesor yang aktif. Misalnya, Anda dapat menjalankan:

$ ps -aF
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0  5971  1764   1 Sep15 ?        00:00:01 /sbin/init
ubuntu   28903  2975  0  3826  1208   0 09:36 pts/0    00:00:00 ps -aF

The PSRkolom menunjukkan bahwa initberjalan pada prosesor 1 dan psberjalan pada prosesor 0. Lihat halaman manual untuk ps (1) untuk rincian lebih lanjut tentang bagaimana untuk menyesuaikan bidang yang ditampilkan.

Anda dapat mengkonfigurasi alat grafis seperti htopuntuk menampilkan prosesor aktif saat ini. Juga, htopmemiliki grafik tampilan beban per-CPU, yang mungkin Anda cari. Lihat, misalnya, tangkapan layar berikut dari http://htop.sourceforge.net/ .

tangkapan layar htop

Akhirnya, Anda dapat menggunakan tasksetalat untuk memaksa afinitas ke CPU tertentu.

Emil Sit
sumber
Ingatlah bahwa (kecuali jika Anda telah menggunakan tasket untuk mengatur afinitas hanya pada satu CPU) informasi ini mungkin sudah usang sebelum tampilan dibuat, apalagi pada saat Anda membacanya.
Jamie Hanrahan
26

Ada banyak cara untuk mengetahuinya. htop, atas, ps.

htop

  • versi teruji: 1.0.2
  • url: http://htop.sourceforge.net/

    1. Tekan F2 untuk masuk ke jendela pengaturan
    2. pilih Kolom di kolom Pengaturan
    3. buka Kolom yang Tersedia
    4. tambahkan PROCESSOR htop memilih prosesor
    5. Periksa kolom CPU htop dengan kolom cpu

teratas

  • versi teruji: procps 3.3.8
  • url: http://gitorious.org/procps

    1. Tekan f untuk masuk ke jendela Fields Management
    2. Pilih P (CPU Terakhir Digunakan)

di sini adalah contoh dengan kolom terakhir P

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   P 
 5626 yashi     20   0 1926276 545964  47596 R  12.6  3.4 151:10.81 gnome-sh+ 2 
 5347 root      20   0  384788  73600  55708 S   8.7  0.5  55:10.09 Xorg      1 
 8125 yashi     20   0  646240  30776  21928 S   4.3  0.2  23:06.20 gnome-sy+ 0 
 1785 yashi     20   0  581180  29288  15560 R   4.0  0.2   0:25.55 gnome-te+ 1

ps

PSR adalah KODE untuk menampilkan id prosesor. Anda dapat menggunakan opsi format seperti ps -o pid,psratau cukup lakukanps -eF

$ ps -eF|head
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0  3817   964   0 Aug14 ?        00:00:02 init [2]  
root         2     0  0     0     0   2 Aug14 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 Aug14 ?        00:00:11 [ksoftirqd/0]
root         5     2  0     0     0   0 Aug14 ?        00:00:00 [kworker/0:0H]
root         7     2  0     0     0   0 Aug14 ?        00:00:00 [migration/0]
root         8     2  0     0     0   0 Aug14 ?        00:00:00 [rcu_bh]
root         9     2  0     0     0   3 Aug14 ?        00:00:39 [rcu_sched]
root        10     2  0     0     0   0 Aug14 ?        00:00:00 [watchdog/0]
root        11     2  0     0     0   1 Aug14 ?        00:00:00 [watchdog/1]
Yasushi Shoji
sumber
1

Saya hanya mengutip isi man ps:

psr akan memberi tahu Anda prosesor tempat proses berjalan atau berjalan. pcpu akan memberi tahu Anda persentase waktu cpu yang digunakan untuk proses tersebut.

ps -eo pid, tid, kelas, rtprio, ni, pri, PSR , pcpu , stat, wchan: 14, comm

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | tail
 9847  9847 TS       -   0  19   2  0.0 S    -              kworker/2:0
10061 10061 TS       -   0  19   2  0.6 Sl   futex_wait_que chrome
10208 10208 TS       -   0  19   3  0.0 S    -              kworker/3:3
10247 10247 TS       -   0  19   1  0.0 S    -              kworker/1:1
10381 10381 TS       -   0  19   1  4.6 Sl   futex_wait_que chrome
10452 10452 TS       -   0  19   0  0.0 S    -              kworker/0:1
10491 10491 TS       -   0  19   0  0.5 Sl   futex_wait_que chrome
10504 10504 TS       -   0  19   2  0.0 S    -              kworker/2:1
10505 10505 TS       -   0  19   0  0.0 R+   -              ps
10506 10506 TS       -   0  19   3  0.0 S+   pipe_wait      tail

Gaya BSD:

ps axo stat, EUID, ruid, tty, tpgid, sess, pgrp, ppid, pid, PSR , pcpu , comm

Firo
sumber
Ini agak samar. Bisakah Anda memperluas jawaban Anda untuk menguraikan apa ini dan bagaimana menggunakannya untuk menyelesaikan masalah? dari ulasan
fixer1234