Da IBM:Perché -Xrs ridurre le prestazioni
-Xrs
Disabilita segnale movimentazione nella JVM.
-Xrs
Impostazione -Xrs impedisce l'™ ambiente runtime Java dalla gestione degli segnali generati internamente o esternamente, come SIGSEGV e SIGABRT. Qualsiasi segnale generato viene gestito dai gestori del sistema operativo predefinito. La disabilitazione della gestione dei segnali nella JVM riduce le prestazioni di circa il 2-4%, a seconda dell'applicazione.
-Xrs: sincronizzazione
Nei sistemi UNIX, questa opzione disabilita la gestione dei segnali nella JVM per SIGSEGV, SIGFPE, SIGBUS, SIGILL, SIGTRAP, segnali andSIGABRT. Tuttavia, la JVM gestisce ancora i segnali SIGQUIT e SIGTERM, tra gli altri. Come con -Xrs, l'uso di -Xrs: sync riduce le prestazioni di circa il 2-4%, a seconda dell'applicazione.
Nota: impostazione di questa opzione impedisce dump generati da JVM segnali, come SIGSEGV e SIGABRT, perché la JVM non è più intercettare questi segnali.
Dalla mia comprensione, -Xrs
è davvero usato per prevenire discariche vengano generati quando alcuni segnali del sistema operativo vengono intercettati.
Poiché la JVM non è più intercettando e trattare questi segnali, sarebbe stare alla ragione questo sarebbe aumento prestazioni, non diminuzione come rivendicato da IBM.
Perché -Xrs
riduce le prestazioni?
BTW, l'impatto del polling safepoint non è generalmente così grande. I gestori di segnale vengono anche utilizzati per i controlli nulli impliciti, per i controlli di overflow dello stack (aka * stack banging *), per le barriere di memoria remote sulle chiamate dei metodi nativi, per JNI_GetField veloce, per la gestione implicita dei casi al limite della divisione intera e per alcune altre ottimizzazioni. – apangin
@apangin Sono consapevole che JVM utilizza trucchi per altre operazioni, ma non mi è familiare. Ti incoraggio a scrivere una risposta che li descriva. (E modificare se c'è un'inesattezza, la mia memoria era che HotSpot ha fatto un test ma non una scrittura.) – chrylis
Hai ragione, HotSpot fa 'test' su x86 per il polling safepoint. Scusate, l'ho confuso con lo stack banging. Penso che tutti questi trucchi JVM meritino un post speciale; spero di scrivere presto – apangin