문제

나는있다 RHEL 중간 정도의 가변 양의 CPU 부하 (50%-75%)를 넣어야하는 상자.

이것에 대해 가장 좋은 방법은 무엇입니까? 내가 알지 못하는이를 수행 할 수있는 프로그램이 있습니까? 이를 위해 C 코드를 작성하게되어 기쁩니다. 시스템 호출이 어떤 도움이 될지 모르겠습니다.

도움이 되었습니까?

해결책

이것이 바로 당신이 필요한 것입니다.http://weather.ou.edu/~apw/projects/stress/

홈페이지에서 : "스트레스는 POSIX 시스템을위한 간단한 워크로드 생성기입니다. 시스템에 대한 구성 가능한 양의 CPU, 메모리, I/O 및 디스크 응력을 부과합니다. C로 작성되었으며 GPL에 따라 무료 소프트웨어가 라이센스가 부여됩니다. . "

다른 팁

소스 코드가있는 간단한 소수 검색 프로그램을 찾으십시오. 소스 코드를 수정하여 기본 루프에 Nanosleep 호출을 추가하여 원하는 CPU로드를 제공하는 지연이 있습니다.

시스템에 약간의로드를 얻는 일반적인 방법 중 하나는 대형 소프트웨어 패키지를 반복해서 컴파일하는 것입니다. Linux 커널과 같은 것.

소스 코드의 사본을 받고 Tar.bz2를 추출하고 최상위 소스 디렉토리로 이동하여 커널 구성을 /boot에서 .config 또는 zcat /proc/config.gz> .config로 복사하십시오. 사실이지만; 깨끗하게 만들고 && bzimage를 만드십시오. 완료

SMP 시스템이 있으면 -j bzimage를 재미있게 만들면 스폰됩니다.

이것의 한 가지 문제는 CPU 부하를 조정하는 것입니다. 디스크 I/O를 대기 할 때를 제외하고는 최대 CPU로드입니다.

Bash 스크립트를 사용 하여이 작업을 수행 할 수 있습니다. "ps -o pcpu | grep -v cpu"를 사용하여 모든 프로세스의 CPU 사용을 얻으십시오. 현재 사용량을 얻으려면 모든 값을 함께 추가하십시오. 그런 다음 기본적으로 해당 값을 계속 확인하고 현재 CPU 사용량을 파악하고 프로세서를 특정 테시러를 유지하기 위해 계산 된 시간을 기다리는 바쁜 While 루프를 사용하십시오. 더 자세한 내용은 필요하지만, 이것이 좋은 출발점을 제공하기를 바랍니다.

이것을 살펴보십시오 CPU 모니터 내가 찾은 스크립트는 당신이 이것을 달성 할 수있는 방법에 대한 다른 아이디어를 얻으려고 노력합니다.

실제로 테스트하려는 것에 달려 있습니다. CPU로드를 테스트하는 경우 빈 CPU 사이클을 섭취하는 간단한 스크립트가 잘 작동합니다. 나는 개인적으로 최근 RAID 어레이의 성능을 테스트해야했고 Bonnie ++와 iozone에 의존했습니다. Iozone은 특히 RAM보다 파일 크기를 더 높이는 경우 상자에 적절한 하중을 넣습니다.

당신은 또한 관심이있을 수 있습니다 이 기사.

"nice"명령을 사용하십시오.

a) 최고 우선 순위 : $ nice -n -20 my_command

또는

b) 최우선 우선 순위 : $ nice -n 20 my_command

awk를 사용하여 CPU를로드하고 망치는 간단한 스크립트. 스크립트는 수학적 계산을 수행하므로 CPU로드는 LoadServer.sh 로의 높은 값으로 증가합니다.

스크립트 체크 아웃 @ http://unixfoo.blogspot.com/2008/11/linux-cpu-hammer-script.html

아마도 일부로드 생성 도구를 사용하여이를 달성하거나 스크립트를 실행하여 모든 CPU주기를 취한 다음 사용할 수 있습니다. 멋진 그리고 renice 프로세스가 얻는 사이클 비율을 변화시키는 프로세스에서.

다음은 모든 무료 CPU 사이클을 차지하는 샘플 배쉬 스크립트입니다.

#!/bin/bash
while true ; do
true
done

LookBusy는 CPU로드의 설정 값을 활성화합니다.프로젝트 사이트

lookbusy -c util[-high_util], --cpu-util util[-high_util]

i.e. 60% load
lookbusy -c 60

당신의 목표가 무엇인지 잘 모르겠습니다. GlxGears는 100% CPU를 사용할 것이라고 생각합니다.

따라서 CPU를 100%로 최대한 활용할 수있는 프로세스를 찾으십시오.

4 개의 CPU 코어 (0 1 2 3)가있는 경우 "작업 세트"를 사용 하여이 프로세스를 바인딩하여 CPU 0과 1이라고 말할 수 있습니다. 이는 상자를 50%로드해야합니다. 로드하려면 75%가 프로세스를 0 1 2 CPU로 바인딩합니다.

면책 조항 : 테스트하지 않았습니다. 결과를 알려주십시오. 이것이 효과가 있더라도, 당신이 이것에서 무엇을 달성 할 것인지 잘 모르겠습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top