예를 들어 서버에서 처음 연결할 때 isolcpus가 활성화되어 있는지, 어떤 CPU에 있는지 감지하는 방법 정황:
프로세스가 생성되는 위치를 확인하기 위해 프로세스를 생성하지 않습니다.
유스 케이스는 점이다 isolcpus=1-7
6 개 코어 i7 용 베어 본에 보인다 부팅시 isolcpus을 활성화하지, 내가이 가능한 경우 알고 싶다 /proc/
, /sys
또는 사용자 공간에서 읽을 수있는 커널 내부는, isolcpus의 활성화의 명확한 상태를 제공하기 위해 그리고 어떤 CPU가 관련되어 있습니다. 또는 isolcpus가 가장 먼저 다루는 스케줄러의 활성 설정을 읽으십시오.
가동 시간이 너무 커서 dmesg
시작시 오류를 감지하기 위해 더 이상 부팅 로그가 표시되지 않습니다. " 커널 cmd 줄보기 "와 같은 기본 답변은 허용되지 않습니다. :)
pidstat
및 isolcpus
. 좀 더 자세히 설명해 주시겠습니까?
isolcpus
모르지만 플래그 pidstat
를 전달하면 프로세스가 실행중인 CPU를 알려줄 수 있습니다 -C process_name
. 예를 들어 pidstat -C top
다음을 생성합니다. 10:56:52 AM PID %usr %system %guest %CPU CPU Command 10:56:52 AM 3457 0.00 0.00 0.00 0.00 6 top
isolcpus
커널 매개 변수는 스케줄러가 프로세스를 분리 한 경우 자체적으로 프로세스를 마이그레이션하지 않도록합니다. 8 CPU 서버의 isolcpus=1-7
경우 커널 명령 행에서 init 및 쉘의 모든 명령이 포크로 생성 한 모든 프로세스를 CPU0에서만 실행하도록합니다. 격리 된 CPU에서 작업을 실행하려면 taskset
예 를 들어 해당 CPU를 시작해야합니다 . 그래서 내가 요구하는 것에 관해서는, 당신의 대답이 주제가 아닌 것 같습니다. 어쨌든 대답 해 주셔서 감사합니다
pidstat -C isolcpus
. pidstat는sysstat
패키지에 있습니다.