Article View: pl.comp.os.linux.programowanie
Article #60207floodowanie pthread_create - czy to wporządku?
From: Jarosław Siebert
Date: Tue, 25 Oct 2005 14:05
Date: Tue, 25 Oct 2005 14:05
51 lines
2648 bytes
2648 bytes
Witam,
Znane są wszystkim programy typu cpuburn (pętla w pęti - do tego alokacje
pamięci, zyżycie swap, często kończone przez kernel zwykłym kill)
wykorzystujące procesor czy też pamięć dostępne w systemie.
Zazwyczaj proces nadużywający zasobów jest killowany. Niektóre zasoby można
ograniczyć dla zwykłego usera przy pomocy ulimit, pamu.
Jak ograniczyć działanie tego typu programu, które powoduje pozorne
wstrzymanie wszystkiego (działa tylko brutalne wyłącenie zasilania i
przełączanie konsol)
Oto przykładowy programik:
#include <stdio.h>
#include <pthread.h>
void *fake_it(void *fake)
{
pthread_exit(NULL);
}
int main(int argc, char **argv)
{
pthread_t fake_pth;
/*pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);*/
while(1) {
pthread_create(&fake_pth, NULL, fake_it, NULL);
/*pthread_join(fake_pth, NULL);*/
}
/*pthread_attr_destroy(&attr);*/
return 0;
}
Oczywiście zmiana atrybutu wątku na PTHREAD_CREATE_DETACHED eliminuje
problem, podobnie jak dodanie pthread_join().
Powyższy program ma błąd - to wiadomo, jednak dlaczego jego błędne działanie
doprowadza kernel do wstrzymania oddechu (o panice nic mi nie wiadomo).
Dodam, że w netbsd powoduje on zamknięcie systemu i późniejszy reboot po
wciśnięciu jakiegokolwiek przycisku.
Znacie sposoby jak uchronić się przed takimi złośliwymi programami? może pam
tu będzie odpowiedni ?
pozdrwiam
iu1j4
--
.: DLJ PROJECT :.
.: Jarosław Siebert :.
........: jsiebert@poczta.wp.pl :.........
.: Lru: 255615 | tel: 603877428 | Gg: 560046:.
Technical Details
Message-ID:
<20051025160435.GA237@siebert>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Jarosław Siebert <jsiebert@poczta.wp.pl> Newsgroups: pl.comp.os.linux.programowanie Subject: floodowanie pthread_create - czy to wporządku? Date: Tue, 25 Oct 2005 14:05:16 +0000 (UTC) Organization: tp.internet - http://www.tpi.pl/ Lines: 51 Message-ID: <20051025160435.GA237@siebert> NNTP-Posting-Host: uv110.internetdsl.tpnet.pl Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1130249116 11642 80.55.151.110 (25 Oct 2005 14:05:16 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Tue, 25 Oct 2005 14:05:16 +0000 (UTC) User-Agent: mutt-ng/devel-r529 (NetBSD) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit