Mda. Sincer sa fiu prima idee a fost ca am memory leaks si somehow raman bucati de memorie blocate aiurea. Ce-i drept pare destul de stupida acum. E limpede ca o data ce omor procesele memoria o sa fie dealocata. Am trimis mailul inainte sa gandesc. De aia nu am mai raspuns la celalalt reply. Nu, nu este a 3-a varianta. Bucatile de memorie blocate nu se mai realoca si sistemul incepe sa swapeze ca dementu. E foarte probabil sa fie prima varianta. Nu pot sa verific acum dar la prima abatere o sa depun mai multa atentie.
De fapt am pus intrebarea pe lista nu neaparat pentru sistemul asta ca nu ma supara asa rau ci mai mult pentru idee. Bineinteles ca intrebarea se referea la memory leaks in kernel si nu la cazul stupid cu un proces care a scapat din vedere si tine ceva memorie blocata. Oricum, acum si idea e stupida pentru ca daca memoria e alocata de kernel e normal ca nu exista o aplicatie care sa o dealoce. In concluzie imi cer scuze celor care si-au pierdut timpul citind threadul asta pana la capat. S-a dovedit ca nu a avut nimic de interes. [EMAIL PROTECTED] wrote on 09/02/2005 08:04:22 AM: > On Thu, 2005-09-01 at 11:28 -0400, Sorin Stoian wrote: > > Salut, > > > > Am niste programe care se builduiesc cu ant / java pe o masina rhel4as. > > Daca killaresc un build process in timp ce forjaza imi raman bucati mari > > de memorie alocate si in cateva zile ma trezesc cu 2G de ram full. > > RAM-ul poate fi "full" daca : > - ramine un proces rulind care tine memoria alocata (dar tu le omori, > deci putin probabil) > - memory leaks in kernel... CEL MAI PUTIN PROBABIL > - memoria este folosita pentru buffere si cache, caz in care stai fara > grija memoria va fi realocata proceselor ce au nevoie de ea cind vor > avea nevoie de ea... probabil ca nu stii tu sa citesti ce inseamna > memorie libera :) > > A treia varianta este cea mai probabila. > > > _______________________________________________ > RLUG mailing list > [email protected] > http://lists.lug.ro/mailman/listinfo/rlug From cave at cernat.ro Fri Sep 2 17:27:06 2005 From: cave at cernat.ro (Alex 'CAVE' Cernat) Date: Fri Sep 2 17:27:50 2005 Subject: [rlug] memory flush In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> >Nu, nu este a 3-a varianta. Bucatile de memorie blocate nu se mai realoca >si sistemul incepe sa swapeze ca dementu. >E foarte probabil sa fie prima varianta. Nu pot sa verific acum dar la >prima abatere o sa depun mai multa atentie. > > > Vezi ca memoria poate sa fie de mai multe tipuri. 1. daca e alocata procesului si strict procesului (statice, heap, stack etc.) va fi automat dealocata de kernel in momentul in care procesul se termina (problema e DACA procesul se termina, si nu conteaza daca iese cu -TERM, -9, -11) 2. memorie shared (alocata de proces), care nu se dezaloca la sfarsitul executiei procesului; daca e un proces simplu atunci nu are ce cauta aici (decat daca faci programe de laborator pentru FAC UPB); de obicei memoria shared se foloseste atunci cand ai 2 procese interdependente si vrei sa transferi ceva de la unul la altul; poti sa vezi daca ai memorie alocata folosind "ipcs -m" (un man ipcs e sfant), si poti sa o stergi folosind ipcrm (la fel man-ul) Alex
