Ho diversi tomcat running, versioni 5/6/7 e 32/64 bit.
Per sapere quanta ram hanno dedicata uso jmap -heap. Nota: non l'ho specificato nelle opzioni della JVM nel catalina, e jmap mi sembra che mostri come maxheapsize un fisso del 25% della ram disponibile. E' un dato di fatto e corrisponde a realtà? cioè, se non lo specifico java si prende sempre il 25% della ram? Ma è dinamico? nel senso che se poi le classi java tentano di allocare di più il sistema glielo concede o va in outofmemory come se gli avessi forzato il tetto?
in un sistema con 32G di ram, tomcat 7, jmap -heap mi restituisce:
Codice: Seleziona tutto
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 8401190912 (8012.0MB)
NewSize = 5439488 (5.1875MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 88080384 (84.0MB)
Ma per sapere quanti processori si prendono?
per dire, se faccio ps -eLf, indipendentemente dal numero di processori della macchina mi mostra una cifra di thread.
Che significa che se due utenti mi si connettono se ne vanno uno su un processore e uno su un altro?