Problemi gravi di Memory Leak con QML/Javascript
-
E' una bella rogna.
Vedo nel sito che propongono Debian e Boot2Qt. Se hai modo di provarle provale.
Poi rompi i maroni a variscite, digli che devono risolverti il problema o quantomeno darti supporto visto l'acquisto che gli avete fatto. Digli che se fai girare l'applicativo su un rasperry problemi non ne hai. -
@mrdebug Boot2Qt il problema è che aveva una versione di qt troppo vecchia: la 5.9, invece sono riuscito a mettere almeno la 5.11.
Debian è quella che c'era prima, e lì ci facevo girare la webapp prima di portarla su qt, ma non sono riuscito a trovare una guida per mettere qt su debian basato su questa scheda. Su raspberry pi non ho provato, dovrò metterci un altro progetto su raspberry, ci ho fatto un prototipo ma non ho analizzato l'uso della memoria.Senza mettere mano a gran parte del codice senza togliere di mezzo QML vedi delle idee per risolvere? Tu dici di provare a compilare Yocto con X11? Wayland è un alternativa a framebuffer che fa uso di X?
Grazie
Saluti,
Marco -
@mrdebug Ciao, saresti così gentile da poterci sentire privatamente per cercare di venire a capo di questo problema, visto che tu hai avuto dei problemi simili, e questo problema è di estrema urgenza.
Ho fatto delle prove, praticamente lanciando un esempio di qt, non in qml, sul device, non sembra aumentare la memoria, però lanciando l'esempio qml weather che fa una chiamata api ogni tot minuti, che è anche quello qml, anche lì non sembra esser eccessivo l'uso della memoria in generale. Ho un leggero aumento di memoria sull'applicativo, che è coerente con l'aumento della memoria in generale, e non come nel caso mio che l'aumento dell'applicativo non è coerente con l'aumento in generale della memoria.
Ho anche provato a disabilitare alcune funzioni sul mio applicativo e la memoria ha un comportamento più coerente. Quello che ho notato però è che prima aprendo top appariva fra i programmi ogni tanto un python, che ora non appare più perchè ho commentato delle funzioni che indirettamente lo richiamavano.
Mi daresti una mano a cercare di risolvere questo problema visto che tu ne hai avuto a che fare? Fra le opzioni comunque è da escludere il fatto di sostituire qml con qwidget, ora non c'è proprio il tempo per farlo, e poi facendo partire un esempio qml non ho notato problemi. In background sto comunque anche compilando per la scheda variscite con wayland per fare quella prova che dicevi, ma non sono certo che questo risolverà il problema.
Saluti,
Marco -
@mrdebug Finalmente ho scoperto il problema ed ero completamente fuori strada: non c'entrava il mio codice (non direttamente) e non c'erano problemi con il sistema, ne con openGL, ma erano i log file che si trovavano in ram che venivano riempiti a dismisirua da PHP e riempiva tutta la memoria ini poco tempo. Ora ho disabilitato i log di PHP e in 15 ore ha occupato 16 MB di memoria, contro i 20 occupati in un ora di prima. A questo punto cercherò di configurare i log rimanenti in maniera diversa per evitare che aumenti anche quel poco.
Grazie comunque