Process

如何查找在任何給定時間在每個 CPU 核心中執行的作業數(由 gnu 並行創建)?

  • January 12, 2022

我正在使用 gnu 並行讀取包含 curl 命令的文本文件。如果我這樣做ps -ef | grep -cw [c]url,它會立即顯示捲曲過程的總數。

但我想知道每個 CPU 核心中執行的 gnu 並行作業的數量。

怎麼找到那個?

從字面上看,我看不出有什麼辦法可以做到這一點:一個程序可能在一個核心上執行 1 ms,而下一個 ms 在另一個核心上執行。

但是,您的評論很容易回答:

我想確保所有核心都參與其中。我該如何驗證?

htop

這表明所有核心都忙:


 1  [|||||93.0%]    17 [|||||97.3%]   33 [|||||87.1%]    49 [|||||91.0%]
 2  [|||||95.3%]    18 [|||||98.5%]   34 [|||||91.4%]    50 [|||||92.5%]
 3  [|||||93.7%]    19 [|||||96.9%]   35 [|||||87.4%]    51 [|||||91.3%]
 4  [|||||90.2%]    20 [|||||96.2%]   36 [|||||92.1%]    52 [|||||94.9%]
 5  [|||||95.3%]    21 [|||||97.3%]   37 [|||||87.6%]    53 [|||||90.7%]
 6  [|||||95.3%]    22 [|||||97.3%]   38 [|||||92.0%]    54 [|||||93.4%]
 7  [|||||91.7%]    23 [|||||97.7%]   39 [|||||86.7%]    55 [|||||94.2%]
 8  [|||||92.5%]    24 [|||||98.4%]   40 [|||||93.3%]    56 [|||||91.8%]
 9  [|||||97.3%]    25 [|||||97.7%]   41 [|||||93.8%]    57 [|||||92.9%]
 10 [|||||97.7%]    26 [|||||96.9%]   42 [|||||94.9%]    58 [|||||93.5%]
 11 [|||||97.7%]    27 [|||||98.4%]   43 [|||||95.3%]    59 [|||||90.8%]
 12 [|||||97.3%]    28 [|||||97.7%]   44 [|||||95.3%]    60 [|||||91.3%]
 13 [|||||96.5%]    29 [|||||97.3%]   45 [|||||95.7%]    61 [|||||93.2%]
 14 [|||||97.7%]    30 [|||||97.7%]   46 [|||||95.3%]    62 [|||||93.3%]
 15 [|||||97.7%]    31 [|||||97.7%]   47 [|||||94.5%]    63 [|||||92.6%]
 16 [|||||96.9%]    32 [|||||95.7%]   48 [|||||94.0%]    64 [|||||94.9%]
 Avg[||||||||||||||||||||||||94.5%]   Tasks: 302, 10084 thr; 39 running
 Mem[|||                10.1G/504G]   Load average: 119.46 47.95 29.59 
 Swp[                        0K/0K]   Uptime: 00:17:23

   PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  2457 vcache     20   0 4985M 1284M 86536 S 440.  0.2 10:54.69 /usr/sbin/varn
351883 www-data   20   0 1954M 11736  3748 S 142.  0.0  1:20.80 /usr/sbin/apac
433876 www-data   20   0 1953M 11392  3748 S 132.  0.0  0:29.07 /usr/sbin/apac
411605 www-data   20   0 1889M 11424  3748 S 99.0  0.0  0:40.96 /usr/sbin/apac
  2466 varnishlo  20   0 87080 84156 83468 S 42.6  0.0  1:07.94 /usr/bin/varni
371877 tange      20   0 15916 11136  3500 R 40.3  0.0  0:24.92 htop
372227 tange      20   0 25960 19820  5688 D 33.2  0.0  0:15.86 perl /usr/loca
372060 tange      20   0 25912 19816  5692 D 32.5  0.0  0:15.21 perl /usr/loca
F1Help  F2Setup F3SearchF4FilterF5Tree  F6SortByF7Nice -F8Nice +F9Kill  F10Quit

這顯示了一台空閒的機器:


 1  [|     0.5%]    17 [      0.0%]   33 [      0.0%]    49 [      0.0%]
 2  [      0.0%]    18 [      0.0%]   34 [      0.0%]    50 [      0.0%]
 3  [      0.0%]    19 [      0.0%]   35 [      0.0%]    51 [      0.0%]
 4  [      0.0%]    20 [      0.0%]   36 [      0.0%]    52 [      0.0%]
 5  [      0.0%]    21 [|     0.5%]   37 [      0.0%]    53 [      0.0%]
 6  [      0.0%]    22 [      0.0%]   38 [      0.0%]    54 [      0.0%]
 7  [      0.0%]    23 [      0.0%]   39 [      0.0%]    55 [      0.0%]
 8  [|||| 29.6%]    24 [      0.0%]   40 [      0.0%]    56 [      0.0%]
 9  [|     0.5%]    25 [|     0.5%]   41 [|     0.5%]    57 [|     0.9%]
 10 [      0.0%]    26 [|     0.5%]   42 [      0.0%]    58 [|     0.5%]
 11 [      0.0%]    27 [||    0.9%]   43 [      0.0%]    59 [|     0.9%]
 12 [      0.0%]    28 [|     0.5%]   44 [      0.0%]    60 [|     0.5%]
 13 [      0.0%]    29 [|     0.5%]   45 [|     0.5%]    61 [|     0.9%]
 14 [      0.0%]    30 [|     0.5%]   46 [|     0.5%]    62 [|     0.9%]
 15 [      0.0%]    31 [|     0.5%]   47 [|     0.5%]    63 [||    1.4%]
 16 [      0.0%]    32 [|     0.5%]   48 [      0.0%]    64 [|     0.9%]
 Avg[||                       0.7%]   Tasks: 132, 10350 thr; 1 running
 Mem[|||                7.15G/504G]   Load average: 1.02 21.86 20.72 
 Swp[                        0K/0K]   Uptime: 00:15:10 

   PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
  2457 vcache     20   0 4913M 1191M 86520 S  0.5  0.2  7:02.69 /usr/sbin/varn
  3023 mysql      20   0 2092M  377M 35696 S  0.5  0.1  0:00.50 /usr/sbin/mysq
  4217 root       20   0 2366M 44548 19464 S  0.5  0.0  0:00.12 /usr/lib/snapd
371811 root       20   0 23436  5048  1892 S  0.0  0.0  0:00.03 /lib/systemd/s
371814 root       20   0 23436  5048  1892 S  0.0  0.0  0:00.03 /lib/systemd/s
371816 root       20   0 23436  5048  1892 S  0.0  0.0  0:00.03 /lib/systemd/s
371817 root       20   0 23436  5048  1892 S  0.0  0.0  0:00.03 /lib/systemd/s
371818 root       20   0 23436  5048  1892 S  0.0  0.0  0:00.03 /lib/systemd/s
F1Help  F2Setup F3SearchF4FilterF5Tree  F6SortByF7Nice -F8Nice +F9Kill  F10Quit

引用自:https://unix.stackexchange.com/questions/685503