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
.
[+] jak ograniczy
zainteresuj się poleceniem ulimit
na poczatek zerknij
a dokładniej zwróć uwagę na:
na poczatek zerknij
Kod: Zaznacz cały
ulimit -a
Kod: Zaznacz cały
ulimit -t wartość
ulimit -m wartość
ulimit -l wartość
ulimit -v wartość
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
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.