CPU 로드 및 프로세스 우선순위를 테스트하는 프로그램

CPU 로드 및 프로세스 우선순위를 테스트하는 프로그램

Amazon EC2 인스턴스에서 몇 가지 테스트를 실행하고 있는데 CPU 사용량을 항상 80% 이상으로 유지하고 싶습니다.

높은 우선순위로 실행해야 하는 프로그램이 있는데 main, CPU 부하를 80% 이상으로 높이는 다른 프로그램, 바람직하게는 수학 C 코드나 bash 스크립트를 시작하고 싶습니다.

이러한 작업을 수행하는 데 사용할 수 있는 프로그램은 무엇이며 프로그램을 가장 높은 우선순위로 실행하려면 어떻게 해야 합니까?

PS: Fedora를 실행하세요.

답변1

셸에서 CPU를 100%(오버헤드 제외)로 점유하는 것은 쉽습니다.

while true; do :; done

부하를 줄이려면 수면을 도입하세요.

i=0; while [ $i -ne 0 ] || sleep 0.001; do i=$(( (i+1) % 10000 )); done

원하는 부하를 얻으려면 10000을 위아래로 조정하십시오.

스케줄링 우선순위는 에 의해 설정됩니다 nice. 기본값보다 더 높은 우선순위를 설정하려면 루트여야 합니다. 부정적인 친근감은 높은 우선순위를 의미합니다(긍정적 친근감은 낮은 우선순위를 의미함).

nice -20 sh -c 'while …'

답변2

"nice"를 사용하면 우선순위를 제어할 수 있습니다. 가장 높은 우선순위의 경우(루트에만 해당):

nice -n -20 yourprogram

가장 낮은 경우:

nice -n 19 yourprogram

IO도 제어해야 한다면 ionice를 사용하세요. "man Nice" 및 "man ionice"는 문서화에 사용됩니다.

관련 정보