Repository 32bit  Forum
Repository 64bit  Wiki

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.

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

Messaggioda ZeroUno » mer mag 23, 2012 10:02

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
ZeroUno
Staff
Staff
 
Messaggi: 4394
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda lablinux » mer mag 23, 2012 11:02

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/load-balancing-con-apache-2-x-e-tomcat-4-x/

Qua http://www.enricodevita.it/blog/2008/09/monitorare-le-performance-di-tomcat-con-jmeter/ si parla di jmeter per monitorare il server
e qua http://jteam.forumattivo.info/t26-aumentare-memoria-a-tomcat c'è un tooltip per ridurre la richiesta di memoria.
Avatar utente
lablinux
Linux 2.6
Linux 2.6
 
Messaggi: 751
Iscritto il: gio nov 27, 2008 12:23
Località: Rho
Slackware: 14 64bit
Desktop: kde4

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

Messaggioda miklos » mer mag 23, 2012 11:10

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'
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1211
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

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

Messaggioda ZeroUno » mer mag 23, 2012 11:33

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
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4394
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron