Начало Вход/Регистрация Помощ Tazi stranica s latinski bukwi
Области
 Новини
 Актуална тема
 Linux портали
 Какво е Линукс?
 Въпроси-отговори
 Форуми
   •Трудова борса
   •Конкурс
 Статии
 Дистрибуции
   •Поръчка на CD
 Made In BG
 Файлове
 Връзки
 Галерия
 Конференции
Настройки
 Външен вид
 Предложения
 Направи си сам
И още ...
 За нас
 Линукс за българи ЕООД
 Линк към нас
 Предложения

Подкрепяно от:
TelePoint - Място за хора със свободни идеи

SiteGround

initLab

Adsys Group

SAP Bulgaria

Въпроси отговори
Въпрос: za broia na procesite
[Търси: ]

ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.

Към началото |Добави въпрос |Отговори
 
Въпрос
От: :) Дата: 10/13/2003
 abe interesno mi e kakvo shte stane , ako promenia max broi
 na procesite koito mogat da se pusnat, iasno e che sistemata
 shte si raboti pak , no dali shte ima syshtata
 proizvoditelnost? i kakva e optimalnata im broika , pri
 koiato ordinatoryt na procesite si "vyrshi rabotata" nai -
dobre :) ?
merci na otgovorilite



Отговор #1
От: Н. Антонов (nikola__at__linux-bg__dot__org) Дата: 10/13/2003
 Пи принцип, броят на процесите не се задава глобално, а само
 за определени потребители или членова на дадена група. Не си
 и помисляй да ограничаваш броя на процесите за цялата
система. Просто ще се счупи и няма да работи. Затова има групи и 
потребителите се органазират по групи.

 За работа в Х оптимално е да зададеш 100-150 процеса на
 юзер. Ако ще работят само в конзола примерно през SSH -
 10-15 процеса ще са им напълно достатъчни. Всичко зависи от
това какво смяташ да им разрешиш да правят.


Отговор #2
От: sheib (sheib __точка__ nospam (a) phreedom __точка__ org) Дата: 10/13/2003
 drasti. dobyr vypros. sistemata ti (nai veroiatno) niama da
 raboti po-dobre ili po-losho ako uvelichish ili namalish
 broia na user procesite. niama i magichesko chislo, koeto da
 e podhodiashto za vseki host. vsichko e subektivno i opira
 do precenkata na dadenia sysadmin ;] sega, za max
procesite:

# ulimit -a

kazva

max user processes            (-u) 4091

ako gi setnesh na unlimited -

# ulimit -u unlimited

max user processes            (-u) unlimited

 t.e. ne pokazva kolko sa tochno. mojesh da opitash da
proverish obache s getrlimit() kakvo si misli linuxa ti:

#include 
#include 
#include 
#include 

int main(void)
{
        struct rlimit rlimit_cur;

        getrlimit(RLIMIT_NPROC, &rlimit_cur);
         printf("cur: %lu max: %lu\n", rlimit_cur.rlim_cur,
rlimit_cur.rlim_max);
        return(0);
}

# ./sgetrlimit
cur: 4294967295 max: 4294967295
# uname -a
 Linux thinkpad 2.6.0-test7-bk4 #2 SMP Mon Oct 13 11:18:29
EEST 2003 i686 i686 i386 GNU/Linux
 
 ne mislia obache, che tova e optimalnia broi. dobre shte e
niakoi da se porazrovi iz lkml.


Отговор #3
От: Н. Антонов (nikola< at >linux-bg< dot >org) Дата: 10/13/2003
 Така е, ако ползваш ulimit, но това е куца работа. Има си
 /etc/security/limits.conf, където нещата са далеч по-удобни
и функционални, защото ulimit може да се заобикаля.

 Слагането на лимит на потребителските процеси е задължително
 за многопотребителска среда. Иначе става весело, ако някой
се изгаври и пусне fork bomb;)


Отговор #4
От: sheib (sheib__dot__nospam __@__ phreedom__dot__org) Дата: 10/13/2003
nikola, ne si prav. 

 faktyt, che za teb e po-lesno da rabotish s limits.conf, v
 nikakva stepen ne go pravi po-udoben ili po-fukncionalen, a
 bash ili ksh (procheti za ulimit) kuci :-) oshte poveche che
 pri mnogo distribuci (da ne govorim za drugi operacionni
 sistemi) takyv file dori ne se izpolzva (ot pam modulite).
 ne znam kakvo imash v predvid pod "zaobikaliane na ulimit".
 ako prochetesh oshte, shte razberesh che metodyt na rabota
 na ulimit i limits.conf (pam_limits.so) se svejda do
 manipulirane na niakolko system call-a, a po-tochno -
 getrlimit(75) i setrlimit(76). kakto znaem, obiknovenite
 potrebiteli ne mogat da kontrolirat tiahnoto povedenie.
 otnosno fork bombite i drugi detski igrachki - mnogo trudno
 mojesh da "schupish" niakoi linux s iadra sled 2.3, poradi
 nachina na rabota na memory managera/vm; out of memory
 killer, enhanced sched, preemption i t.n., no za tam 
 triabva dori poveche chetene :-) inache, da, syglasen sym
 che edna multi-user systema (v smisyla, koito vlagash ti)
 triabva da se dyrji po izkyso. zatova kazah che e
subektivno, no veche se otdalechih dostatychno ot vyporsa.

vsichko hubavo

s.


Отговор #5
От: Н. Антонов (nikola __@__ linux-bg __точка__ org) Дата: 10/13/2003
 Като казах куца, не исках да обиждам никого, още по-малко
 ulimit;) Куца е от гледна точка на функционалността. Ако си
 мислиш, че е трудно да се счупи система, в която нямаш
 сетнати ограничения на процесите в limits.conf или не си се
 бъзикал с ulimit, грешиш. Няма нищо по-лесно от това. Няма
 значение версията на ядрото, повярвай ми. Ако не ми вярваш,
дай ми име и парола;) Дистрибуцията е без значение.

 Или направо опитай някой от тези примери -
http://linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=352271146

P.S. Можеш да се поинтересуваш какво правят провайдърите на
безплатни шел-акаунти. Или да си регистрираш такъв в sf.net и
да се логнеш през shell.sourceforge.net. Освен, че ползват ядро с
grsecurity, хората са се постарали доста да пипнат в limits.conf. 
Друг начин просто няма;)


Отговор #6
От: sheib (sheib __точка__ nospam__at__phreedom __точка__ org) Дата: 10/13/2003
 ehh :-) zashto niama poveche takiva diskusii tuk. vijdam che
 si skaran s ulimit i v tova niama nishto losho. ako neshto v
 nego ne ti haresva obache, vinagi mojesh da si napishesh
 progie kato tova gore na 10 reda i da si reshish problema,
 osobeno kato niama pam na sistemata (ili ne ti se
instalira). tozi vypros go schitam za prikluchen.

 no ne sym syglasen s ostanalata chast ot posta ti; pohvalno
 e che rovish i pishesh po temata iz linux-bg; kakto spomenah
 obache, s nai-dobri chuvstva te syvetvam da poprochetesh v/u
 kernel preemption, latency, oom, che dori i za novia 0/1
 scheduluer, za da ne tvyrdish takiva neshta. ima dostatychno
 statii po vyprosa (phrack, phreedom magazine, lj i drugi
resursi).

 za syjalenie sym zad niakolko nat-a, bez realen adres, taka
 che ne moga da ti osiguria dostyp do men. mashinata koiato
 poizmychih e notebooka mi, koito e sravnitelno byrzo jeliazo
(ili titan, whatever...:-)

 eto primer za shto-gode snosen fork bomb, s koito
experimentirah:

 main() { int *root; while(1) { root=(int *)malloc(10000);
fork(); } }

 v/u linux s 2.6.0-test7-bk4 iadro. do kolkoto pomnia,
 preemptible hacka na robert love e mergenat v 2.4 source
 tree sled .19, ta mojesh i da go razgledash. predvaritelno
 mahnah vsiakakvi restrikcii otkym broi na user procesi. sled
 kato pusnah fork-a, go podyrjah okolo 15tina minuti, pri
 koeto mashinata se pozabavi, no beshe napylno responsive
 prez cialoto vreme. nakraia oom killera zapochna da ubiva
niakoi procesi i go spriah. loada beshe dosta visok

 23:18:41  up 21:19,  20 users,  load average: 804.83,
906.33, 407.26

 no systemata ne si i pomisli da se "chupi" nito za mig.
po-nagledno ot tova ne bih mogyl da go predstavia :-)

 a, i m/u drugoto limits.conf, ulimit, grsec i t.n. dalech ne
 sa edinstvenite opcii da predotvratish eventualna fork
 ataka. mojesh da spresh niakoi linux capabilities ot kernela
 si, koeto e dosta grubo (lcap,
 http://www.phreedom.org/article.php?id=35), a syshto taka i
da polzvash lkm, koito sledi za podobni sybitia.


Отговор #7
От: Н. Антонов (nikola __@__ linux-bg __точка__ org) Дата: 10/14/2003
 Така е, начини много. Не съм скаран с ulimit, просто не го
 ползвам;) С pam_limit, както сам знаеш, можеш да зададеш
 доста детайлни настройки не само над броя на процесите или
размера на стековете и т.н. Сигурно има и други решения, но
досега не съм видял по-удобно средство за контрол над
системните ресурси по потребители и групи. 

 Тествахме първата форкбомба от материала на ядро 2.4.21 с
 grsecurity и без допълнителни настройки - счупи се,
 по-трудно отколкото без пачовете, но след минута системата
 заби безотказно. Ако машинта е по-мощна, просто оставяш
 програмката да я претовари, т.е. изисква се повече време. С
 2.6 не съм пробвал, то излезе по-късно и не съм си играл
 вече. С ограничавеното на броя на процесите и броя на
 едновременните логвания примерно до 4, при пускане на
 програмата процесорът започна да се товари, вече не помня
 показателите, но при достигане на лимита ядрото започна да
реже програмата и толкова. 

 Това е, при повечето линукс-дистрибуции имаш pam_limits и не
виждам защо да не се използва. Нали и за това? ;)

Поздрави!


<< ./configure (2 ) | Geforce4 TI antializing i anisotropia ??? (0 ) >>

 
© 2011-... Асоциация "Линукс за българи"
© 2007-2010 Линукс за българи ЕООД
© 1999-2006 Slavej Karadjov
Ако искате да препечатате или цитирате информация от този сайт прочетете първо това
Външния вид е направен от MOMCHE
Code Version: 1.0.8 H (Revision: 23-09-2011)
 
Изпълнението отне: 0 wallclock secs ( 0.08 usr + 0.01 sys = 0.09 CPU)