Visualizzazione stampabile
-
No l'heap è lo stesso non viene preallocato per ogni processo. Viene allocato solo all'avvio. Poi è tutto condiviso tra le istanze dalvik, però alcune parti vengono realmente replicate per via del copy-on-write.
Quindi tu dici che una applicazione che monitora la cosa non avrebbe senso? Ci si guadagnerebbe troppo poco? Io pensavo di tenere il cell costantemente monitorato e dimensionare l'heap in base all'utilizzo medio su una finestra temporale grossa tipo 1 mese... L'unico vantaggio, ma non so di che ordine di grandezza, sarebbe in termini di consumo energetico...
-
Quote:
Originariamente inviato da
Ikon
No l'heap è lo stesso non viene preallocato per ogni processo. Viene allocato solo all'avvio. Poi è tutto condiviso tra le istanze dalvik, però alcune parti vengono realmente replicate per via del copy-on-write.
Quindi tu dici che una applicazione che monitora la cosa non avrebbe senso? Ci si guadagnerebbe troppo poco? Io pensavo di tenere il cell costantemente monitorato e dimensionare l'heap in base all'utilizzo medio su una finestra temporale grossa tipo 1 mese... L'unico vantaggio, ma non so di che ordine di grandezza, sarebbe in termini di consumo energetico...
Scusa, ma anche le applicazioni avranno bisogno del loro heap, o no? Mica usano solo le classi del Zygote. Ogni apk definisce le sue classi in Java. Almeno credo, come professo da tempo io Java lo detesto. :D
E' il problema della sfera di cristallo. Valgono le stesse considerazioni che valgono per gli algoritmi di paging. Stabilito un algoritmo è sempre possibile fare una applicazione che quell'algoritmo lo fa impazzire. Certo ci sono le considerazioni statistiche. Ma presuppongono un uso "tipico" del sistema. Se hai un server Oracle puoi fare determinati tuning ottenendo dei vantaggi, ma se quei tuning li applichi a un server general purpose ottieni l'effetto contrario. E la fregatura sta nel "general". Un giorno fanno una cosa (magari proprio si atteggiano a server Oracle per una giornata), l'altro calcolo scientifico. Nel caso dei smartphone, un giorno chiami e basta, l'altro fai solo web browsing, un altro giochi. Ti salterebbe fuori un valore medio che alla fine mi sa tanto che sarebbe lo stesso di quello che già c'è. Non è che chi sviluppa gli OS non faccia la sua analisi delle perfomance.
In ogni caso sarebbe solo tempo perso per altri motivi: test empirici provano che posizionare quel valore agli estremi sembra del tutto indifferente. A meno che non sia sottodimensionato il che causa fault al Zygote o a applicazioni di sistema in generale (avrei dovuto controllare meglio. Ce n'era più di una che dava FAILURE).
Io personalmente nei server dai tuning, e specialmente da chi i tuning li professa, sono sempre stato distante. Uno di quelli che chiamava più spesso con problemi al server Domino era ovviamente il fesso che andava a toccare tutti i parametri di sistema/tuning, nella speranza di migliorare il sistema. Poi regolarmente questo andava in crash (perché Domino è un cesso). Come su tutto vale sempre la solita regola d'oro: il sistema non è performante? Compra un HW più potente. Che ne esce uno ogni mese o quasi. Ecco, problemi di tuning risolti. rotfl
-
Si in linea di massima hai ragione... è inutile starsela a menare. Come dice Bersani: "Oh ragassi, se hai gli occhi a mandorla non è che piangi l'orzata...". Perciò ci sta che qualcosina la riesci a recuperare, ma alla fine non hai guadagnato così tanto da giustificare il lavoro.
Per quanto riguarda l'heap io avevo capito che era condiviso, ma è tutto abbastanza fumoso...