Hitung Jumlah Threads dalam Proses di Linux

A+ A-

Proses Linux dapat divisualisasikan sebagai contoh menjalankan program di mana setiap thread di Linux tidak lain adalah aliran eksekusi proses. Apakah Anda tahu bagaimana untuk melihat jumlah thread per proses pada lingkungan Linux? Ada beberapa cara untuk menghitung jumlah benang. Artikel ini berhubungan dengan, cara membaca informasi tentang proses pada Linux dan juga untuk menghitung jumlah benang per proses.

Baca Proses Informasi

Untuk membaca informasi proses menggunakan perintah 'ps'. Perintah ini digunakan untuk membaca snapshot dari proses saat ini di Linux. Namun, ps -e atau ps aux perintah menampilkan nama-nama dari semua proses.

Untuk membaca informasi proses, gunakan perintah berikut -

 $ ps

Output sampel harus seperti ini -

 PID TTY WAKTU CMD
 5843 pts / 0 00:00:00 pesta
 5856 pts / 0 00:00:00 ps

Untuk menampilkan semua nama proses, gunakan perintah berikut -

 $ Ps -e 

Output sampel harus seperti ini -

 PID TTY WAKTU CMD
    1? 00:00:01 init
    2? 00:00:00 kthreadd
    3? 00:00:00 ksoftirqd / 0
    5? 00:00:00 kworker / 0: 0H
    7? 00:00:07 rcu_sched
    8? 00:00:00 rcu_bh
    9? 00:00:02 rcuos / 0
   10? 00:00:00 rcuob / 0
   11? 00:00:00 migrasi / 0
   12? 00:00:00 pengawas / 0
   13? 00:00:00 pengawas / 1
   14? 00:00:00 migrasi / 1
   15? 00:00:00 ksoftirqd / 1
   17? 00:00:00 kworker / 1: 0H
   18? 00:00:01 rcuos / 1
   19? 00:00:00 rcuob / 1
   20? 00:00:00 pengawas / 2
   21? 00:00:00 migrasi / 2
   22? 00:00:00 ksoftirqd / 2
   24? 00:00:00 kworker / 2: 0H
   25? 00:00:04 rcuos / 2
   26? 00:00:00 rcuob / 2
   27? 00:00:00 pengawas / 3
   28? 00:00:00 migrasi / 3
   29? 00:00:00 ksoftirqd / 3
   31? 00:00:00 kworker / 3: 0H
   32? 00:00:01 rcuos / 3
   33? 00:00:00 rcuob / 3
   34? 00:00:00 khelper
   35? 00:00:00 kdevtmpfs
   36? 00:00:00 netns
   37? 00:00:00 Perf
   38? 00:00:00 khungtaskd
   39? 00:00:00 writeback
   40? 00:00:00 ksmd
   41? 00:00:00 khugepaged
   42? 00:00:00 kripto
   43? 00:00:00 kintegrityd
   44? 00:00:00 bioset
   45? 00:00:00 kblockd
   46? 00:00:00 ata_sff
............

Menghitung Threads per Proses

Ada beberapa cara untuk menghitung benang per proses. Mereka ditampilkan sebagai di bawah ini-

Metode 1: - / proc

Ini adalah cara termudah untuk melihat thread count dari setiap proses yang aktif pada file ekspor Linux mesin. Perintah proc teks proses dan perangkat keras sistem informasi, seperti CPU, interupsi, memori, disk, dll

Untuk melihat thread count proses, menggunakan perintah-perintah berikut

 $ Cat / proc / <pid> / Status 

Sebagai contoh, di sini kita menambahkan PID sebagai 1041. Kemudian, perintah harus seperti ini -

 $ Cat / proc / 1041 / Status 

Output sampel harus seperti ini-

 Nama: cangkir-diakses
Negara: S (tidur)
Tgid: 1041
Ngid: 0
Pid: 1041
PPID: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Grup: 0 
VmPeak: 75364 kB
VmSize: 75364 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 5932 kB
VmRSS: 5932 kB
VmData: 568 kB
VmStk: 136 kB
VmExe: 48 kB
VmLib: 8712 kB
VmPTE: 164 kB
VmSwap: 0 kB
Thread: 1
SigQ: 0/31329
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000180004a02
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
Seccomp: 0
Cpus_allowed: f
Cpus_allowed_list: 0-3
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 134
nonvoluntary_ctxt_switches: 1

Contoh di atas adalah memiliki satu thread per proses. Cara alternatif adalah dengan menghitung jumlah direktori yang ditemukan di / proc / <pid> / tugas.

Karena, setiap benang yang dibuat dalam proses, akan ada sebuah direktori masing-masing dibuat dalam / proc / <pid> / tugas, nama dengan ID benang nya. Dengan demikian, jumlah total direktori di / proc / <pid> / tugas mewakili jumlah benang dalam proses.

Untuk memverifikasi itu menggunakan perintah berikut -

 $ Ls / proc / <pid> / tugas | toilet 

Pada perintah di atas, kami memberikan PID sebagai 1041, Kemudian, perintah harus seperti ini -

 $ Ls / proc / 1041 / tugas | toilet 

Output sampel harus seperti ini-

 tp @ linux: ~ $ ls / proc / 1041 / tugas | wc
 1 1 5 

Output di atas menggambarkan tentang 1041 proses dan itu adalah memiliki satu direktori di dalamnya.

Metode 2: - ps

Perintah ps menunjukkan benang individu dengan opsi "H". Perintah berikut menunjukkan thread count proses.

 $ Ps HH p 1041 | wc -l 

output harus seperti ini-

 tp @ linux: ~ $ ps HH p 1041 | wc -l
1
tp @ linux: ~ $ 

Selamat! Sekarang, Anda tahu "Cara menghitung jumlah benang dalam proses di Linux". Kita akan belajar lebih banyak tentang jenis perintah dalam posting Linux kami berikutnya. Terus membaca!