Quindi ho questa app di rotaie con un orribile problema di perdita di memoria. Lo sto eseguendo su Heroku e negli ultimi due giorni, mentre cercavo di capire cosa stavo causando, ho dovuto continuamente riavviare l'app ogni 5 ore circa o la memoria supera 512 e la mia app si blocca.Perdita di memoria nell'app Rails ... string night
Sto usando Oink e non vedo nulla di strano con le mie lezioni istanziate. L'unica cosa è che con ogni caricamento della pagina, la memoria utilizzata si insinua. Non importa nemmeno quale pagina carico, è apparentemente casuale.
New Relic non è stato di grande aiuto, poiché non ha a che fare con una particolare azione del controller.
L'unica cosa che sono riuscito a trovare è stata l'utilizzo di ObjectSpace, che ha rivelato un numero ENORME di oggetti stringa in memoria e il numero cresce e cresce. Ho usato un piccolo strumento per registrare il valore delle stringhe e sono tutte vuote. Non nulla ... ma spazio bianco. La mia app di produzione ha regolarmente oltre 200.000 oggetti stringa in uso.
Qualcuno ha qualche idea di cosa potrebbe derivare? Questo è davvero stressante per me dover stare al mio computer ogni cinque ore per mantenere vivo il mio sito.
Grazie!
Difficile dare un consiglio specifico diverso dalla semplice rimozione del codice finché non si ha il più piccolo esempio possibile che presenta il problema e postare quello –
ed eseguirlo su un server alternativo, e colpirlo con richieste CURL costanti fino a quando non si può effettuare la riproduzione. – peterept
consiglio: non eseguire 'stringa = stringa1 + stringa 2', né' stringa + = stringa1'. Do: 'stringa << stringa 1', nessuna stringa aggiuntiva viene creata in questo modo – apneadiving