Articles of jvm hotspot

Incoraggiare la JVM in GC piuttosto che far crescere l’heap?

(Nota che quando dico “JVM”, intendo davvero “Hotspot”, e sto eseguendo l’ultimo aggiornamento di Java 1.6). Esempio di situazione: La mia JVM è in esecuzione con -Xmx impostato su 1gb. Attualmente, l’heap ha 500mb allocati, di cui 450mb utilizzati. Il programma deve caricare altri 200 mb nell’heap. Attualmente, ci sono 300mb di spazzatura “da collezione” […]

Che cosa fa il flag JVM di UseCompressedOops e quando dovrei usarlo?

Che cosa fa l’indicatore JVM dell’hotspot -XX:+UseCompressedOops e quando dovrei usarlo? Che tipo di prestazioni e differenze di utilizzo della memoria vedrò quando lo utilizzo su un’istanza Java a 64 bit (rispetto a non usarla)?

Intrinseche AES-NI abilitate di default?

Oracle ha questo da dire su Java 8 per quanto riguarda AES-NI: Le intrinsechezze hardware sono state aggiunte per utilizzare Advanced Encryption Standard (AES). I flag UseAES e UseAESIntrinsics sono disponibili per abilitare gli intrinsechi AES basati su hardware per l’hardware Intel. L’hardware deve essere il 2010 o il più recente hardware Westmere. Ad esempio, […]

Analisi dei log gc

Sto utilizzando le opzioni -XX:+PrintGCApplicationStoppedTime e -XX:+PrintGCApplicationConcurrentTime per triggersre la registrazione gc. Ma ho scoperto che solo dopo 4 0r 5 stampe di PrintGCApplicationStoppedTime miei dettagli reali dei log gc stampati attraverso il comando -XX:+PrintGCDetails ! Per definizione PrintGCApplicationStoppedTime stampa l’ora di arresto dell’applicazione per ogni gc. Ma non sono chiaro perché stampa come nell’esempio […]

Cosa sono ReservedCodeCacheSize e InitialCodeCacheSize?

Qualcuno può spiegare cosa sono l’opzione JVM ReservedCodeCacheSize e InitialCodeCacheSize ? Specificamente quando / perché dovrei cambiarlo? Come posso decidere qual è la taglia giusta? Questo è ciò che dicono i documenti: -XX: ReservedCodeCacheSize = 32m Dimensioni della cache del codice riservato (in byte) – dimensione massima della cache del codice. [Solaris 64-bit, amd64 e […]

Contatore di eccezioni Java su JVM HotSpot

Mi chiedo se è ansible registrare ogni eccezione che si verifica a livello di JVM senza modificare il codice dell’applicazione? Con tutte le eccezioni intendo l’eccezione catturata e non rilevata … Vorrei analizzare questi log in un secondo momento e raggrupparli per tipo di eccezione (class) e contare semplicemente le eccezioni per tipo. Sto usando […]

Leggere i parametri di avvio Java JVM (ad es. -Xmx)

Sto cercando di capire se c’è un modo per determinare le proprietà di avvio JVM da un processo java in esecuzione. Nello specifico sto cercando di scoprire dove sono memorizzati parametri come -Xmx (dimensione massima heap) e -XX: MaxPermSize. Sto usando Sun’s 1.6 jvm. Se ti stai chiedendo perché voglio farlo, ho un certo numero […]

In che modo JVM ha deciso di compilare JIT un metodo (categorizzare un metodo come “caldo”)?

Ho già lavorato con -XX:+PrintCompilation e conosco le tecniche di base del compilatore JIT e perché viene utilizzata la compilazione JIT. Tuttavia non ho ancora scoperto come JVM decida di compilare JIT un metodo, cioè “quando è giunto il momento giusto per compilare un metodo JIT”. Ho ragione nel presupporre che ogni metodo inizia ad […]

L’esecuzione di jmap diventa imansible per aprire il file socket

Ho dovuto eseguire jmap per fare il dump dell’heap del mio processo. ma jvm restituito: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding Quindi ho usato il -F : ./jmap -F -dump:format=b,file=heap.bin 10330 Attaching to process […]

La class JavaLaunchHelper è implementata in entrambi … libinstrument.dylib. Uno dei due sarà usato. Quale è indefinito

Ho aggiornato l’ultima versione di Java 7 u40 su MacOS X e ho iniziato a ricevere il seguente messaggio sulla console all’avvio dell’applicazione utilizzando Eclipse. L’app funziona bene, ma vorrei scoprire la causa del problema e, auspicabilmente, una soluzione. objc[10012]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be […]