1개의 프로세스에 대해 +%100 CPU 사용량을 시뮬레이션하는 방법은 무엇입니까?

1개의 프로세스에 대해 +%100 CPU 사용량을 시뮬레이션하는 방법은 무엇입니까?

운영 체제: CentOS 7.9

시뮬레이션/생성하고 싶습니다.프로세스 1개테스트 목적으로 보고서는 top%100 이상의 CPU를 사용합니다. ps 출력은 다음과 같습니다.

   USER         PID    %CPU     COMMAND
user.one        111245  1500    command

Stress 및 Stress-ng 명령이 있지만 100개만 허용됩니다.

-l P, --cpu-load P         load CPU by P %%, 0=sleep, 100=full load (see -c)

또한 초과 구독 옵션과 함께 mpirun을 사용하여 스트레스 명령을 실행해 보았지만 성공하지 못했습니다.

    -oversubscribe, --oversubscribe
Nodes are allowed to be oversubscribed, even on a managed system, and overloading of processing elements. 

미리 감사드립니다!

답변1

예를 들어 자신만의 테스트 애플리케이션을 컴파일하고 싶지 않다면 다음을 사용하세요.pthread_create(3)아무것도 하지 않고 영원히 루프할 때 각각 프로세스에 100% CPU 사용량을 추가하는 여러 스레드를 생성하려면 많은 계산과 그에 따른 병렬 처리가 필요한 기성 도구를 사용할 수 있습니다.

다음은 모두 병렬 압축을 수행하는 도구의 예입니다.pigz,pixz,pbzip2.

CentOS 7의 경우 한 번에펠Parallel 의 기타 / epel-release이전 구현pxzpixz

pxz </dev/zero >/dev/null

리소스를 소비하는 다른 항목이 없다면 단일(멀티 스레드) 프로세스의 CPU 사용량은 nx 100%에 가까워야 합니다. 기본적으로 n = 명령의 결과nproc.

해당 옵션을 사용하여 nx 100% 미만으로 제한할 수 있습니다 -T n.

관련 정보