grub.cfg에서 격리된 코어를 설정하는 방법은 무엇입니까?

grub.cfg에서 격리된 코어를 설정하는 방법은 무엇입니까?

CPU2사용자 정의된 Linux 시스템에서 격리를 설정했지만 재부팅한 후에도 여전히 를 grub.cfg사용하는 사용자 공간 프로세스가 많이 있음을 발견 CPU2했습니다 sshd. top문제가 무엇입니까?

그럽.cfg:

# Begin cfg
set default=0
set timeout=3

#set root=(hd0,gpt3)

menuentry "GNU/Linux, Dobot-6.4.0-rt8" {
    linux (hd0,gpt2)/bzImage rw root=/dev/mmcblk0p3 net.ifname-policy=onboard,path,slot
    initrd (hd0,gpt2)/initrd.img-6.4.0-rt8
    GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2"
}

게다가 결과 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash isolcpus=2"/etc/default/grub마찬가지다.

단일 결과 top:

Mem: 104600K used, 3676868K free, 384K shrd, 2748K buff, 42804K cached
CPU:  0.1% usr  0.0% sys  0.0% nic 99.7% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.31 0.25 0.11 2/125 2112
  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
  336   331 root     S     2580  0.0   3  0.0 sh -c while true; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /proc/uptime /proc/loadavg /proc/sys/fs/file-nr /
  327   325 root     S    22748  0.6   0  0.0 smbd -s /etc/samba/smb.conf -D
  325     1 root     S    22692  0.6   0  0.0 smbd -s /etc/samba/smb.conf -D
  323     1 root     S    15788  0.4   1  0.0 nmbd -s /etc/samba/smb.conf -D
  331   322 root     S     9256  0.2   1  0.0 sshd: root@pts/0
  322     1 root     S     8808  0.2   2  0.0 sshd: /sbin/sshd -f /etc/sshd/sshd_config [listener] 0 of 10-100 startups
  220     1 root     S     3920  0.1   2  0.0 /usr/sbin/plymouthd --mode=boot --attach-to-session --pid-file=/run/plymouth/pid
    1     0 root     S     2580  0.0   1  0.0 init
  328     1 root     S     2580  0.0   1  0.0 -/bin/sh
  333   331 root     S     2580  0.0   3  0.0 -sh
 2087   333 root     R     2580  0.0   0  0.0 top
   53     2 root     IW       0  0.0   2  0.0 [kworker/u8:2-ev]
   96     2 root     SW       0  0.0   3  0.0 [irq/123-xhci_hc]
   27     2 root     SW       0  0.0   1  0.0 [migration/1]
   36     2 root     SW       0  0.0   2  0.0 [migration/2]
   45     2 root     SW       0  0.0   3  0.0 [migration/3]
    9     2 root     IW       0  0.0   0  0.0 [kworker/0:1-eve]
   16     2 root     SW<      0  0.0   2  0.0 [pr/bkl]
   64     2 root     IW       0  0.0   2  0.0 [kworker/2:1-eve]
   74     2 root     IW<      0  0.0   3  0.0 [kworker/3:1H-kb]
   83     2 root     IW       0  0.0   1  0.0 [kworker/1:2-eve]
   14     2 root     SW       0  0.0   0  0.0 [ksoftirqd/0]
   19     2 root     SW       0  0.0   0  0.0 [rcuc/0]
   28     2 root     SW       0  0.0   1  0.0 [rcuc/1]
   37     2 root     SW       0  0.0   2  0.0 [rcuc/2]
   46     2 root     SW       0  0.0   3  0.0 [rcuc/3]
   17     2 root     IW       0  0.0   2  0.0 [rcu_preempt]
   30     2 root     SW       0  0.0   1  0.0 [ksoftirqd/1]
  106     2 root     IW<      0  0.0   0  0.0 [kworker/0:1H-kb]
    7     2 root     IW       0  0.0   0  0.0 [kworker/0:0-mm_]
   15     2 root     SW       0  0.0   0  0.0 [ktimers/0]
   29     2 root     SW       0  0.0   1  0.0 [ktimers/1]
   38     2 root     SW       0  0.0   2  0.0 [ktimers/2]
   39     2 root     SW       0  0.0   2  0.0 [ksoftirqd/2]
   47     2 root     SW       0  0.0   3  0.0 [ktimers/3]
   48     2 root     SW       0  0.0   3  0.0 [ksoftirqd/3]
   52     2 root     IW       0  0.0   2  0.0 [kworker/u8:1-ev]
   58     2 root     IW       0  0.0   3  0.0 [kworker/3:1-mm_]
   99     2 root     SW       0  0.0   2  0.0 [irq/16-i801_smb]
  102     2 root     SW       0  0.0   2  0.0 [irq/16-mmc0]
  177     2 root     IW<      0  0.0   1  0.0 [kworker/1:1H-kb]
    2     0 root     SW       0  0.0   1  0.0 [kthreadd]
    3     2 root     IW<      0  0.0   0  0.0 [rcu_gp]
    4     2 root     IW<      0  0.0   0  0.0 [rcu_par_gp]
    5     2 root     IW<      0  0.0   0  0.0 [slub_flushwq]
    6     2 root     IW<      0  0.0   0  0.0 [netns]
    8     2 root     IW<      0  0.0   0  0.0 [kworker/0:0H-ev]
   10     2 root     IW       0  0.0   0  0.0 [kworker/u8:0-fl]
   11     2 root     IW<      0  0.0   0  0.0 [mm_percpu_wq]
   12     2 root     IW       0  0.0   0  0.0 [rcu_tasks_kthre]

답변1

GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2"실제 파일을 생성하기 /etc/default/grub위해 전처리된 의 올바른 구문이 됩니다 .grub2-mkconfiggrub.cfg

/etc/default/grub실행하지 않고 grub2-mkconfig(또는 Debian 관련 시스템에서) 편집 하면 update-grub변경 사항이 적용되지 않습니다.

직접 편집할 경우 줄 끝에 grub.cfg추가해야 합니다 .isolcpus=2linux ...

편집 내용은 grub.cfg다음 실행 시 항상 적용되지만, grub2-mkconfig어떤 이유로든(귀하 또는 패키지 관리자에 의해) 실행되면 변경 사항이 덮어쓰여집니다.

GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2"이 줄을 직접 추가하는 것은 의미가 없습니다 grub.cfg. 단지 어떤 용도로도 사용되지 않는 내부 GRUB 변수를 설정하는 것뿐입니다.

관련 정보