TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
do specow od linuxa+odrobina programowania , Tomasz 20/04/03 15:43 mam taki oto fragment kodu
pop_time = Time;
for (;;)
{
sporawdzanie RS232;
time(&Time);
odstep = labs(Time - pop_time);
if (odstep>60)
{
pop_time=Time;
costam;
}
}
co robi kod ? sprawdza caly czas porty com, a jesli minie minuta, to zapisuje do pliku.
Teraz pytanie - dlaczego taki kod wykozystuje 100% procesora ? (tyle pokazuje top -d1)
Jak zrobic, aby nie wykozystywal 100%...
Owszem, jak uruchomi sie inny proces (np.: du /) to "zabierze" mojemu procesowi odpowiednia czesc zasobow i moj porces wykozystuje juz tylko np. 20-30%. Tylko jak zrobic, ze gdy moj proces dziala "sam", aby wykozystywal mniej ?
Aha, proces dziala jako daemon.
Mam nadzieje, ze ktos zrozumie moje pytanie...:)https://www.siepomaga.pl/milosz-mosko - komenda... , Holek 20/04/03 16:25
nice - zmiana priorytetu procesu, ktory domyslnie ustawiany jest na +10...
powinno pomoc:)
pozdr."...here I am on The Road again..." - nie pomaga , Tomasz 20/04/03 16:31
wlasciwie to uzywam setpriority, ale to jest tylko nowsza wersja nice, tak ze nie ma roznic - nie pomaga. ustawilem na 20.
Co do nice, to ono wydajemi sie nie zmienia PRIority, tylko wlasnie NIce. A jak zmienic PRIority ?https://www.siepomaga.pl/milosz-mosko - ale pomaga cos takiego , Tomasz 20/04/03 22:08
for (;;)
{
kod;
usleep(jakis_czas);
}
dzieki :)https://www.siepomaga.pl/milosz-mosko
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|