Top ve ps neden aynı işlemler için farklı PID'ler gösteriyor?


11

Çalıştığımda top -H, birden çok mysqliş parçacığımın hepsinin aynı PID'ye sahip olduğunu görüyorum . Ancak, ps -eLfher birinin farklı bir PID olduğunu görüyorum:

ps -eLf

UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
mysql     1424     1  1424  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1481  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1482  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1483  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1484  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1485  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1486  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1487  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1488  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1489  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1490  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1791  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1792  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1793  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1794  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1809  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld
mysql     1424     1  1812  0   17 18:41 ?        00:00:00 /usr/sbin/mysqld

ve top -H

PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
 1424 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.08 mysqld                                                                  
 1481 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1482 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.33 mysqld                                                                  
 1483 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1484 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.23 mysqld                                                                  
 1485 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.27 mysqld                                                                  
 1486 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.15 mysqld                                                                  
 1487 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.18 mysqld                                                                  
 1488 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1489 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.16 mysqld                                                                  
 1490 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.34 mysqld                                                                  
 1791 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.26 mysqld                                                                  
 1792 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.54 mysqld                                                                  
 1793 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1794 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1809 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.00 mysqld                                                                  
 1812 mysql     20   0  539m  56m 7200 S   0.0  1.5   0:00.13 mysqld

Neler oluyor ve hangisine inanmalıyım?


Soru nerede?
Vinz

Yanıtlar:


10

Aslında aynı bilgileri farklı şekillerde gösteriyorlar. Bu -fve yapılacak -Lseçenekler ps( man psbenimkinden vurgu):

-f Tam biçim listesi yapın. Bu sütun, ek sütunlar eklemek için diğer birçok UNIX stili seçenekle birleştirilebilir. Ayrıca komut bağımsız değişkenlerinin yazdırılmasına neden olur. -L ile birlikte kullanıldığında, NLWP (iş parçacığı sayısı) ve LWP (iş parçacığı kimliği) sütunları eklenir.

-L Büyük olasılıkla LWP ve NLWP sütunlarıyla konuları göster .

tid Ayrılabilir bir varlığı temsil eden benzersiz sayıyı TID (diğer ad lwp, spid). Bu değer ayrıca şu şekilde de görünebilir: bir işlem kimliği (pid); bir işlem grubu kimliği (pgrp); oturum lideri (sid) için bir oturum kimliği; iplik grubu lideri (tgid) için bir iplik grubu kimliği; ve işlem grubu lideri (tpgid) için bir tty işlem grubu kimliği.


Bu nedenle, sütun gerçek işlem tanımlayıcısıyken sütunda psiş parçacığı kimliklerini gösterecektir .LWPPID

topÖte yandan, PIDben bunun açık bir söz bulamıyorum rağmen sütunda farklı konuları listeler man top.


2

Sunumda sadece bir fark var. Bak LWPsenin üzerinde sütuna psçıktı - LWPolduğu LWsekiz Process. Çekirdek, tam bir işlem ve bir iş parçacığı arasında ayrım yapabilir, ancak yine de, işlemleri zamanlamak için kullandığı aynı mekanizma ile bağımsız olarak (bir iş parçacığının amacı olan) bunları zamanlamak zorundadır ve bu nedenle kimliğin zamanlayıcısının benzersiz olması gerekir, en iyi şekilde her amaç için tek bir işlem havuzuna ve iş parçacığı kimliklerine sahip olmak ve iki türü birbirinden ayırmak için başka yollar kullanmaktır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.