2008-09-26 12 views
5

Mam pole RHEL, które muszę poddać umiarkowanej i zmiennej ilości obciążenia procesora (50% -75%).Jak ustawić obciążenie procesora w systemie Red Hat Linux?

Jaki jest najlepszy sposób na rozwiązanie tego problemu? Czy istnieje program, który może to zrobić, o czym nie wiem? Cieszę się, że napisałem kod C, aby tak się stało, po prostu nie wiem, jakie wywołania systemowe pomogą.

Odpowiedz

15

To jest dokładnie to, czego potrzebujesz: http://weather.ou.edu/~apw/projects/stress/

Na stronie głównej. „stres jest prosty generator obciążenie dla systemów POSIX Nakłada konfigurowalny ilość CPU, pamięć, I/O, a stres dysku Jest napisany w języku C i jest wolnym oprogramowaniem na licencji GPL. "

+0

To działało idealnie dla mnie w wirtualnym środowisku. – Tim

+0

Powyższy link nie działa. Znaleziono tutaj: http://people.seas.harvard.edu/~apw/stress/ –

0

Prawdopodobnie można użyć jakiegoś narzędzia do generowania obciążenia, aby to osiągnąć, lub uruchomić skrypt, aby wykonać wszystkie cykle procesora, a następnie użyć nice i renice w procesie, aby zmienić procent cykli, które otrzymuje proces.

Oto przykładowy skrypt bash, które zajmują wszystkie wolnych cykli procesora:

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

Albo prosto z terminalu można wpisać: while true; czyńcie prawdę; done – Jesse

+0

Spowoduje to załadowanie procesora do 100% procesora, ale ładne i renice nie pozwolą na dostrojenie tego obciążenia, tylko po to, aby obciążyć go procesami konkurencyjnymi, jeśli takie istnieją. – jlliagre

1

Jeden wspólny sposób, aby uzyskać pewne obciążenie systemu jest kompilacja dużego pakietu oprogramowania kółko. Coś w rodzaju jądra Linux.

Uzyskaj kopię kodu źródłowego, rozpakuj tar.bz2, przejdź do katalogu źródłowego najwyższego poziomu, skopiuj konfigurację jądra z/boot do .config lub zcat /proc/config.gz> .config, do make oldconfig, a następnie prawda; make make clean & & make bzImage; Sporządzono:

Jeśli posiadasz system SMP, to make -j bzImage jest zabawny, to odrodzi się wykonywać zadania równolegle.

Jednym z problemów jest regulacja obciążenia procesora. Będzie to maksymalne obciążenie procesora, z wyjątkiem okresu oczekiwania na dysku I/O.

2

Znajdź prosty program wyszukiwania liczb pierwszych zawierający kod źródłowy. Zmodyfikuj kod źródłowy w celu dodania wywołania nanosekundowego do głównej pętli, w zależności od tego, które opóźnienie zapewni żądane obciążenie procesora.

1

To naprawdę zależy od tego, co próbujesz przetestować. Jeśli tylko testujesz obciążenie procesora, proste skrypty do spożywania pustych cykli procesora będą działały dobrze. Osobiście musiałem przetestować wydajność macierzy RAID niedawno i polegałem na Bonnie ++ i IOZone. IOZone przyłoży porządne obciążenie do skrzynki, szczególnie jeśli ustawisz większy rozmiar pliku niż pamięć RAM.

Możesz być także zainteresowany this Article.

1

Można to zrobić za pomocą skryptu Bash. Użyj "ps -o pcpu | grep -v CPU", aby uzyskać użycie procesora we wszystkich procesach. Dodaj wszystkie te wartości, aby uzyskać bieżące użycie. Następnie wykonaj zajętą ​​pętlę, która w zasadzie ciągle sprawdza te wartości, obliczając bieżące użycie procesora i czekając na obliczoną ilość czasu, aby utrzymać procesor przy pewnym progu. Potrzeba więcej szczegółów, ale mam nadzieję, że to dobry punkt wyjścia.

Spójrz na znaleziony skrypt CPU Monitor i spróbuj uzyskać inne pomysły na to, jak możesz to zrobić.

-1

Nie wiesz, jaki jest Twój cel. Wierzę, że glxgears użyje 100% CPU.

Znajdź proces, o którym wiesz, że maksymalnie zwiększy procesor do 100%.

Jeśli masz cztery rdzenie procesora (0 1 2 3), możesz użyć "zestawu zadań", aby powiązać ten proces z procesorami 0 i 1. To powinno załadować twoje pudełko 50%. Aby go załadować 75% wiąże proces z 0 1 2 procesorami.

Nota prawna: Nie testowałem tego. Daj nam znać swoje wyniki.Nawet jeśli to działa, nie jestem pewien, co osiągniesz z tego?

0

Użyj komendy "nice".

a) Najwyższy priorytet: $ miły -n -20 my_command

lub

b) Najniższy priorytet: $ miły -n 20 my_command

0

Lookbusy pozwala ustawić wartość obciążenia procesora. Project site

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

i.e. 60% load 
lookbusy -c 60 
Powiązane problemy