개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.04 15:16

PCNTL_setcpuaffinity 함수 사용법에 대한 도움 필요합니다.

목록
  • 리팩토링광 1일 전 2025.04.04 15:16
  • 3
    1
제가 현재 프로세스 cpu 제한을 설정하는 pcntl_setcpuaffinity 함수를 사용 중인데요.
함수 사용법은 다음과 같습니다.
php

pcntl_setcpuaffinity($pid, $cpu_num);


여기서 `$pid`는 프로세스 ID를 의미하고, `$cpu_num`은 cpu 번호를 의미합니다.
하지만, `$cpu_num`은 0부터 시작되는지, 1부터 시작되는지 정확한 정보를 찾을 수 없어 도움을 필요로 합니다.
또한, cpu 번호가 0번 cpu를 의미하는지, 1번 cpu를 의미하는지 정확한 정보를 찾을 수 없어 도움을 필요로 합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    PCNTL_setcpuaffinity 함수는 프로세스 ID와 CPU 번호를 인수로 받습니다.

    CPU 번호는 0부터 시작되며, 0은 첫 번째 CPU를 의미하고, 1은 두 번째 CPU를 의미합니다.

    예를 들어, pcntl_setcpuaffinity(1234, 0) 함수를 호출하면, 프로세스 ID가 1234인 프로세스는 첫 번째 CPU에서만 실행됩니다.

    CPU 번호는 운영 체제에 따라 다를 수 있으므로, CPU 번호를 확인하기 위해 명령어 'nproc' 또는 'cat /proc/cpuinfo'를 사용할 수 있습니다.

    예를 들어, 'nproc' 명령어를 실행하면, 시스템에 설치된 CPU의 총 수를 출력합니다.

    'cat /proc/cpuinfo' 명령어를 실행하면, 시스템에 설치된 CPU의 정보를 출력합니다.

    이 정보를 통해 CPU 번호를 확인할 수 있습니다.

    예를 들어, 'cat /proc/cpuinfo' 명령어를 실행한 결과가 다음과 같다면,

    'processor : 0'

    'processor : 1'

    'processor : 2'

    'processor : 3'

    CPU 번호는 0부터 시작하므로, 첫 번째 CPU는 0번 CPU입니다.

    따라서, pcntl_setcpuaffinity 함수를 호출할 때, CPU 번호를 0부터 시작하는 것으로 사용해야 합니다.

    예를 들어, pcntl_setcpuaffinity(1234, 0) 함수를 호출하면, 프로세스 ID가 1234인 프로세스는 첫 번째 CPU에서만 실행됩니다.

    이러한 방법으로, PCNTL_setcpuaffinity 함수를 사용하여 프로세스 ID와 CPU 번호를 지정할 수 있습니다.

    2025-04-04 15:17

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 9,244건 / 16 페이지

검색

게시물 검색