隔離されたコアでこれらのプロセスを確認する必要がありますか?

隔離されたコアでこれらのプロセスを確認する必要がありますか?

私のLinuxバージョンが期待どおりに実行されていることを確認しようとしています。isolcpusRISC-V SPIKEシミュレータでシミュレートされた2コアシステムの1つのコアを分離するために、カーネルコマンドラインパラメータを使用しました。中断することなく隔離されたコアでプロセスを実行したいと思います。

Linuxから起動すると、予想されるコンテンツが/proc/cmdline含まれます。isolcpus=1ただし、実行中のプロセスのコアアフィニティを確認すると、一部のプロセスがまだCPU1にあることがわかります。

ps -A -o pid,cmd,psr
  PID CMD                         PSR
    1 init                          0
    2 [kthreadd]                    0
    3 [rcu_gp]                      0
    4 [rcu_par_gp]                  0
    5 [slub_flushwq]                0
    6 [netns]                       0
    7 [kworker/0:0-events]          0
    8 [kworker/0:0H-events_highpr   0
    9 [kworker/u4:0-events_unboun   0
   10 [mm_percpu_wq]                0
   11 [rcu_tasks_trace_kthread]     0
   12 [ksoftirqd/0]                 0
   13 [rcu_sched]                   0
   14 [migration/0]                 0
   15 [kworker/0:1-events]          0
   16 [cpuhp/0]                     0
   17 [cpuhp/1]                     1
   18 [migration/1]                 1
   19 [ksoftirqd/1]                 1
   20 [kworker/1:0-events]          1
   21 [kworker/1:0H]                0
   22 [kdevtmpfs]                   0
   23 [inet_frag_wq]                0
   24 [kauditd]                     0
   25 [khungtaskd]                  0
   26 [oom_reaper]                  0
   27 [writeback]                   0
   28 [kcompactd0]                  0
   29 [kblockd]                     0
   30 [ata_sff]                     0
   31 [kworker/1:1-mm_percpu_wq]    1
   32 [rpciod]                      0
   33 [kworker/0:1H]                0
   34 [xprtiod]                     0
   35 [kworker/u4:1-events_unboun   0
   36 [kswapd0]                     0
   37 [nfsiod]                      0
   38 [khvcd]                       0
   39 [uas]                         0
   40 [mld]                         0
   41 [ipv6_addrconf]               0
   49 [kworker/u4:2-events_unboun   0
   69 /sbin/syslogd -n              0
   73 /sbin/klogd -n                0
   90 -/bin/sh                      0
  110 ps -A -o pid,cmd,psr          0

それらは単なるカーネルプログラムです。私が手動でタスクをcpu1に割り当てると、それらがコアに座って耳を傾けると疑われます。

だから私の質問は:コアを正しく分離した場合、コアで確認する必要がある最小限のプロセスセットは何ですか?セットが空でない場合、彼らは何をしているのでしょうか?ボーナスでpsこのコマンドがisolcpus期待どおりに機能することを確認するのに十分ですか?

注:これがうまくいかないと思うようにするのは、互いに反対でなければならないこと/sys/devices/system/cpu/isolatedを読んだからです。/sys/devices/system/cpu/presentしかし私は見る:

# cat /sys/devices/system/cpu/isolated
1
# cat /sys/devices/system/cpu/present
0-1

ベストアンサー1

おすすめ記事