Strona 1 z 1

[+] jak ograniczyć zuŻycie CPU przez program

: 30 kwietnia 2008, 19:48
autor: lessmian2
Witam.
Czy jest jakiś sposób aby np.: uruchomić program z góry narzuconym ograniczeniem dostępu do procesora?
Np.: uruchamiam program z zadanym parametrem 35% i wiem że na pewno program nie zużyje więcej czasu procesora niż 35%. Uruchomienie programu z obniżonym priorytetem (nice) nie daje oczekiwanego rezultatu. Przydało by się na sztywno zdefiniować to ograniczenie. Czy ktoś zna dobry sposób na osiągnięcie takiego efektu?
Z góry dzięki

.

: 01 maja 2008, 21:49
autor: organek
Nie wydaje mi się to możliwe ani celowe. 35% jakiego czasu?

: 03 maja 2008, 16:03
autor: Yampress
zainteresuj się poleceniem ulimit
na poczatek zerknij

Kod: Zaznacz cały

ulimit -a
a dokładniej zwróć uwagę na:

Kod: Zaznacz cały

ulimit -t wartość
ulimit -m wartość
ulimit -l wartość
ulimit -v wartość

: 04 maja 2008, 14:32
autor: ruun
Jest też programik cpulimit ...

Kod: Zaznacz cały

magus% cpulimit
Error: You must specify a target process
Usage: cpulimit TARGET [OPTIONS...]
   TARGET must be exactly one of these:
      -p, --pid=N        pid of the process
      -e, --exe=FILE     name of the executable program file
      -P, --path=PATH    absolute path name of the executable program file
   OPTIONS
      -l, --limit=N      percentage of cpu allowed from 0 to 100 (mandatory)
      -v, --verbose      show control statistics
      -z, --lazy         exit if there is no suitable target process, or if it dies
      -h, --help         display this help and exit

: 05 maja 2008, 10:33
autor: lessmian2
Dzięki za pomoc. Ulimit nie daje tego co oczekiwałem, po ustawieniu ograniczenia na czas CPU na np 30 s, po upływie tego czasu wysyłany jest sygnał SIGXCPU i skrypt który go nie obsługuje wywala się. Natomiast cpulimit to jest to czego szukałem. Jeszcze tylko parę problemów ze zgraniem tego wszystkiego i powinno ładnie śmigać :-) Wielkie dzięki.