![grub.cfg에서 격리된 코어를 설정하는 방법은 무엇입니까?](https://linux55.com/image/228501/grub.cfg%EC%97%90%EC%84%9C%20%EA%B2%A9%EB%A6%AC%EB%90%9C%20%EC%BD%94%EC%96%B4%EB%A5%BC%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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-mkconfig
grub.cfg
/etc/default/grub
실행하지 않고 grub2-mkconfig
(또는 Debian 관련 시스템에서) 편집 하면 update-grub
변경 사항이 적용되지 않습니다.
직접 편집할 경우 줄 끝에 grub.cfg
추가해야 합니다 .isolcpus=2
linux ...
편집 내용은 grub.cfg
다음 실행 시 항상 적용되지만, grub2-mkconfig
어떤 이유로든(귀하 또는 패키지 관리자에 의해) 실행되면 변경 사항이 덮어쓰여집니다.
GRUB_CMDLINE_LINUX_DEFAULT="isolcpus=2"
이 줄을 직접 추가하는 것은 의미가 없습니다 grub.cfg
. 단지 어떤 용도로도 사용되지 않는 내부 GRUB 변수를 설정하는 것뿐입니다.