2013-05-16 10 views
13

Affronto un problema con l'applicazione java che ho creato in javaFx. Consuma solo il 2-3% dell'utilizzo della CPU e circa 50-80 MB di memoria in Windows. Ma in mac la stessa applicazione inizia inizialmente con 50 mb di memoria e aumenta continuamente fino a 1 GB e utilizza oltre il 90% di utilizzo della CPU. Ho trovato queste informazioni quando ho controllato il task manager di Mac. Quando utilizzo un profiler Java per trovare perdite di memoria, il profiler mostra l'utilizzo della memoria come nella finestra (non più di 100 MB).Problema di memoria dell'applicazione con mac

Sono confuso con questo comportamento in Mac.

Qualcuno ha riscontrato questo problema prima o sto facendo qualcosa di sbagliato con la mia applicazione?

+0

Stai testando 'Windows' e' Mac' in modo simile? In altre parole, l'app 'Windows' può essere utilizzata con il 90% di CPU e 1 GB di RAM se è stata testata allo stesso modo del Mac? Non sono sicuro che sia importante, ma potresti pubblicare il 'JRE' che stai usando? –

+0

il suo mac os x e usando la versione java1.7_9. in realtà questo si comporta per tutta l'applicazione java-fx. –

+0

Quindi stai usando 'java1.7_9' su entrambi' Mac' e 'Windows'? Che cosa significa "effettivamente questo si comporta per tutte le applicazioni java-fx"? –

risposta

1

Un sacco di cose possibili, ma ho il sospetto che: A seconda delle dimensioni della memoria e del conteggio della CPU, jvm può essere eseguito in modalità server, il che fa sì che la gestione della memoria sia diversa. Utilizzare l'opzione -server per forzare la modalità server sempre e confrontarla di nuovo.

Può anche fare il dump dell'heap (jmap -dump) per vedere cosa sta occupando così tanta memoria, e impilare le tracce (kill -3) per vedere cosa sta assorbendo così tanta CPU.

Problemi correlati