Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    memoria Apache in continuo aumento ad ogni refresh

    ciao.
    come posso effettuare un controllo sugli array o quant'altro occupi memoria su apache?

    Ad ogni refresh io costruisco oggetti con una new () .....ma quelli creati precedentemente?
    mi spiego meglio....

    Se ho un oggetto pippo = new Pippo(); che e' diciamo simile a un array, dove al refresh lo creo e lo riempio....al refresh successivo ne viene fatto un altro nuovo....e quello vecchio che fine fa?

    occupa memoria? devo distruggerlo? come faccio a controllare il tutto?

    ciao e grazie

  2. #2
    Le variabili create in una pagina, alla fine dell'esecuzione dello script vengono distrutte, a meno che non le metti in una sessione.

    Comunque, nel momento in cui una var.le non ti serve + la puoi sempre distruggere con il comando unset.

    Ciao.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    grazie....ma allora cosa potrebbe aumentare la memoria utilizzata da apache di ben 4 mega? .... il mio programma che fa il refresh ogni 60 secondi....Facciamo il conto di lasciarlo avviato 10 giorni e la memoria utilizzata aumenta vistosamente... cosa dovrei fare?

  4. #4
    Innanzitutto immagino che usi javascript per il refresh.

    Poi, come fai a vedere ke la memoria aumenta?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    si. uso js per il refresh automatico dopo tot secondi.

    Per vedere l'utilizzo della memoria , semplicemente tengo monitorato il task manager.
    .

  6. #6
    Giusto per curiosità:

    quando passano 60 sec. anziché far fare il refresh, richiama un'altra pagina .php anche vuota. Cosa succede alla memoria?

    La pagina in cui fai il refresh, per caso è la pagina di destinazione di qualche form?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    ciao
    Allora...volendo andare nel dettaglio potrei spiegarti come e' architettato il mio progetto.
    Non e' complicatissima.
    Ho una pagina principale che contiene 3 frame. Uno destro , uno sinistro, e uno 1x1px in modo che risulti nascosto. Nel frame di sinistra ho una tree di oggetti, mentre a destra visualizzo dei record.
    La pagina famosa che refreshavo e' il frame 1x1px . A lui è assegnato il compito dei controlli. Ossia...ogni 60 secondi fa un refresh e se ci sono differenze tra gli oggetti che confronta (oggetti php) , solo allora fa refreshare il frame destro e il frame sinistro.
    Ma non e' il refresh di questi due frame che mi fa salire la memoria poiche i test che ho fatto prendendo solo in considerazione la pagina 1px x 1px (frame nascosto) li ho fatti ponendo come dato di fatto che non ci fossero differenze tra gli oggetti , quindi il frame sx e dx non venivano proprio tirati in ballo.

    Ora sprechero' due parole su cosa fa questo frame nascosto da cui dipende tutta la velocita' del mio progetto :

    1) apre un socket con fsockopen() verso un demone scritto in C#
    2) scrive ed elabora la risposta dal demone (chiede una tree e la ottiene)
    3) confronta la tree del demone con quella che c'era in $_SESSION
    4) se sono diverse va a refreshare i 2 frame -....sx e dx
    5) chiude il socket.


    A questo punto...
    Partendo dal fatto che il punto 2 "chiede tree e ottiene tree" e' implementato in piu scritture via socket(dammi foglie, dammi cartelle, dammi nodi....insomma ....e' un unica funzione che ne contiene altre) ,.... ho provato a fare una paginetta che , ciclando da 0 a 1000 continua ad aprire, scrivere e chiudere il socket.
    Fino a mille aumenta di un po..ma se si dovesse proseguire la memoria di Apache continua a salire....
    Perche provo questo....perche il programma deve essere lanciato e lasciato a se stesso....quindi ogni 60 secondi x 24 ore x 5 giorni fa 7200 .....
    Se provassi 7200 volte le chiamate.....apache sale di brutto....e non scende mai finche lo riavvio....

    Accetto consigli per fare test.

    Ho provato anche ad eseguire questo test del ciclo fino a 1500....lanciandolo da shell....ma apache non viene interpellato...Perche? boh...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.