cpu utilizzate: tomcat 5/6/7 e java in generale

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

cpu utilizzate: tomcat 5/6/7 e java in generale

Messaggio da ZeroUno »

Salve.
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)
significa che riesce ad allocare dinamicamente fino a 17 exabyte :-) ?

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?
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
lablinux
Linux 4.x
Linux 4.x
Messaggi: 1212
Iscritto il: gio 27 nov 2008, 12:23
Desktop: Gnome
Distribuzione: Debian testing
Località: Rho

Re: cpu utilizzate: tomcat 5/6/7 e java in generale

Messaggio da lablinux »

Che server web utilizzi? So che con apache puoi gestire il 'load balancing' per ripartire il carico su diversi server (se ho capito bene).
http://andrea.bonadonna.org/2011/02/loa ... omcat-4-x/

Qua http://www.enricodevita.it/blog/2008/09 ... on-jmeter/ si parla di jmeter per monitorare il server
e qua http://jteam.forumattivo.info/t26-aumen ... a-a-tomcat c'è un tooltip per ridurre la richiesta di memoria.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: cpu utilizzate: tomcat 5/6/7 e java in generale

Messaggio da ilmich »

Rispondo per quello che so :)
In java la dimensione dell'heap la puoi impostare nei suoi due valori estremi, il che vuol dire che tipicamente parti occupando tanta memoria quanta ne hai indicata nel minimo e in base all'utilizzo si espande fino a raggiungere il massimo.. raggiunto il quale nn viene chiesta altre memoria al sistema ma si va in out of memory.
Quindi la risposta alla tua domanda è: si.. se raggiungi il maxHeapSize la java virtual machine va in out of memory.

Da quel che so io, quando non diversamente specificato, le jre su linux si prendono la meta' della memoria fisica fino ad un massimo di 512MB quindi i tuoi valori mi sembrano un po' strani, per come la vedo io, ma potrei sbagliarmi, c'e' qualche impostazione che aumenta il maxHeapSize.

Per quanto riguarda i processori usati, le moderne jdk sono in grado di sfruttare i sistemi multicore/multiprocessore (prima non era cosi).
Percio' esattamente come avviene per i 'normali' programmi, ogni thread/processo viene eseguito su tutti i processori seguendo le regole dello scheduler del sistema.
ZeroUno ha scritto:Che significa che se due utenti mi si connettono se ne vanno uno su un processore e uno su un altro?
se si collegano contemporaneamente, il numero di processori e pari al numero di thread attivi, e tomcat nn sta facendo altro si.. altrimenti il concetto di spalmare i threads su piu' processori resta in piedi ma è difficilmente 'misurabile'
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: cpu utilizzate: tomcat 5/6/7 e java in generale

Messaggio da ZeroUno »

allora sto apposto.
dal ps -eLf sembra che sia i tomcat 5 (con java 1.5) che i tomcat 6/7 (con java 1.6) hanno molti thread. Ho solo avuto un problema in passato con i tomcat 5 che, essendo a 32bit, non mi sfruttavano più di 2G di ram (e ne avevo bisogno perchè l'applicativo consuma e non funziona a 64 bit), ma l'ho risolto tirando su due istanze e mettendoci davanti un bilanciatore.

per il fatto della ram che si prende 8G, boh. Ho notato che ovunque (o almeno, a campione) dove non è specificata mi si è presa il 25%, indipendentemente dal max. Ma non è un problema; se ne ho bisogno di più o di meno la forzo.

@lablinux: non devo fare tuning; volevo solo sapere come si comportano i processi attuali.


Grazie
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi