Newsgroup: it.comp.os.os2
Titolo: Java/memory leaks/ecc..


List of Processes:
 P-ID PPID Session Thr Prio    CPU Time                    Name
 ---- ---- ------- --- ---- -------------- ------------------------------------
Message file not found.
Message file not found.
SYS1808:
The process has stopped.  The software diagnostic
code (exception code) is  0005.
Per me sono bachi pesissimi del kernel...
Idee?
Opinioni?
Esperienze?
Che ne pensate?
-- 
Massimo
- eCS Irc Network   
irc.ecomstation.it
    chans: #eCS #eCSita   
- 
http://www.ecomstation.com
 
http://www.teamos2.it

 Che ne pensate?
Potrebbe fare al caso tuo e NON SOLO....
SET JAVA_HIGH_MEMORY=1 
 
Since Java 1.18, activates High Memory Support. 
 
<<=NOTE=>> VIRTUALADDRESSLIMIT=2048 needs also to be set, otherwise this
setting will be ignored. TCP 4.1 or higher must be installed. 
 
<<=NOTE=>> Customers who have had an "Out of memory" or SYS0008 problems
on systems using Java should add this line   
poi si puo' limitare il consumo massimo di memoria per ogni applicazione
lanciata con il parametro -mx<number> (set the maximum Java heap size)
dopo il comando java
esempio:
java -mx5 file.class
Poi per aumntare le prestazioni mettere in config.sys:
CLOCKSCALE=4
SET JAVA_CLOCK_RESOLUTION=32
Attenzione alL' uso di 
DLLBASING=ON
=ON (default) or OFF 
 
New setting in Warp Server for e-business 
 
The dllbasing parameter prevents fragmentation of the shared environment,
allowing more efficient use of virtual memory. The dllbasing parameter may
be set to ON or to OFF. If dllbasing is set to ON, then the system will
attempt to honor the base addresses (preferred load addresses) for DLLs.
Honoring base addresses for DLLs is preferred because it improves system
performance for loading DLLs. However, sometimes there is an interaction
between the DLL basing and an application's memory usage which will cause
the system to run out of private memory. In this case, you should set
dllbasing to OFF so that the system will ignore base addresses for DLLs.
The system performance for loading DLLs may degread marginally, but there
will be more free private memory. 
 
<<=TIP=>> By Istvan Kovacs: ON: better general performance; OFF: more
private memory (just in case an app needs it) 
C'e' anche il modo di caricare tutte le appl. in un' unica JVM (a quanto
pare tutte le volte che si lancia il comando JAVA si carica una JVM
nuova...) in modo da risparmiare memoria, chiaramente se va in crash la
JVM si chiudono TUTTI i processi avviati...; per questo esiste un
programmino dell' autore di SMARTCACHE (applicazione non piu' sviluppata
perche' secondo lui ha un bug grave e non ha intenzione di continuare a
debuggarla) 
http://scache.sourceforge.net/
http://home.worldonline.cz/~cz210552/&e=7620
Altra cosa: applicando LXOPT alle DLL della JVM si otterrebbe un
miglioramento in performance e una diminuzione di risorse usate... OK fino
a java1.3.1 che usa ancora dll native OS/2, se non erro JAVA fornito da
Innotek usa dll win32 che girano con ODIN...
Spero di essere stato abbastanza esauriente... probabilmente avro' detto
qualche inesattezza ma lascio eventuali errata corrige ad altri.
Bye
-- 
Alessandro
-------------------------------------------
Ubi Maior minor cessat
-------------------------------------------

 
mi č successo (manco si apre piů cmd.exe) ma non sono affatto sicuro 
che fosse Java, ed e' una situazione che qui, fortunatamente, pare non
riprodursi piu' :-)
-- 
ciao, Gabriele
[ 
http://www.ecomstation.it/xwp
 ]
[ 
http://www.ecomstation.it/ecsoft2/
 ]

 Lo si puo' vedere solo con il Theseus di IBM..
Basterebbe sapere come usarlo...
Ora uso la versione 1.4.2_5 con 50Mb di cache, ma ricordo che versioni 
precedenti avevano nella consolle le opzioni per liberare risorse. Le 
avevo provate e visto la Ram disponibile aumentare.
Ho appena finito di provare un programma che legge i dischi o directory 
e poi presenta con grafici o dettagli il contenuto, l'elenco dei files 
piů grossi e statistiche varie. Si č ciucciato circa 70Mb di ram che non 
ha liberato alla chiusura. Solo chiudendo anche Mozilla si č liberata la 
ram.
-- 
Ciao,
Roberto
eComStation 1.1/W14100_C
E-mail: 
robertbob.remove.at.tiscali.remove.it
--------------
Scubabob - Underwater Photography
http://www.robertosozzani.it
http://www.mondomarino.net
--------------

 Bye
 
a parte la dllbasing (di cui cmq conoscevo l'esistenza) tutte le altre carte me lo sono 
gia'
giocate...
grazie cmq


 [...]
beh, non e' che sia proprio pazzesco..
lo lanci poi dal menu' system -> linea usage by process
vedrai quella buffa "cascata" di numerelli verdi dall'alto verso il basso..
in alto, messi in verticale (assurdo) ci sono i nomi dei processi
a questo punto tu col mouse scendi fino ad arrivare ad un punto in cui i
numerelli verdi (in esadecimale sulla sinistra) finiscono e trovi una scritta
in nero tipo questa:
"There is x.xxxxM between the private and shared arenas.
Shared arena starts at 084a0000, which is 132.625M.
Free memory from xxx.... ecc.. ecc...
il gioco e' semplice..
controlla l'ultimo indirizzo della private memory, dove finisce
e guarda il primo dove inizia la shared arena..
se si "toccano" (intendo come indirizzo di memoria virtuale) sei nei guai..
ovvero il sistema e' andato in "esaurimento risorse"
questa verifica e' la prima cosa che IBM (laboratori) chiedeva al presentarsi di problemi 
con 
le applicazioni..
cmq tieni conto che qui siamo veramente nel dettaglio del dettaglio..


 ram.
cio' non e' bello...
in ambiente OS/2 le applicazioni dovrebbero girare in modo "protetto" (intendo
in parole un po' ruspanti, una isolata dall'altra...)
e' per questo che secondo me sono bachi del kernel


 grazie cmq
Strano... dunque il tuo problema *dovrebbe* essere riproducibile,almeno
nelle tue stesse condizioni (vers. S.O., Vers. Java ecc.).
IO attualmente ho Warp4.5 e sto provando il kernel 14.100c... che pare
stabile (e mi pare anche tutto piu' veloce), ho ancora Java1.1.8 e in
questo momento girano 2 app. java: smartcache e polarbar che
complessivamente mi occuperanno si e no 2,5 Mb di RAM.
Tu pensi dipenda da Bugs nel kernel? Non credi possa essere invece un
problema di JVM?
A breve installero' sia java1.3.1 che 1.4, vediamo che succede; Se il
consumo di RAM non cambia di molto (magari il nuovo java si porta con se
delle librerie piu' grosse ma non piu' di tanto...) allora potrebbe
davvero essere un problema di Kernel ma... non escluderei anche app. Java
scritte malino....
Comunque mi piacerebbe provare anche la JVM della GoldenCode, mi pare
abbia binari nativi OS/2 che in genere mi sembrano piu' affidabili delle
versioni "odinizzate".


 versioni "odinizzate".
I memory leak sono proprio presenti principalmente con le 1.3.1 IBM e la 1.41 G.C.


 Free memory from xxx.... ecc.. ecc...
Ieri, dopo circa 24 ore di uptime e parecchio smanettamento (soprattutto 
Java e Mozilla che ho reinstallato), avevo questa situazione:
-------
There is 74.375M between the private and shared arenas.
Shared arena starts at 07CE0000, which is 124.875M.
Free memory from 07CE0000 for 179.125M, which is equivalent to 2866 64K 
spaces.
-------
Questa mattina ho riavviato per vedere qual'era la situazione 'pulita' 
dopo il boot. Ho subito avviato Theseus e questa e' la situazione:
-------
There is 21.000M between the private and shared arenas.
Shared arena starts at 04000000, which is 64.000M.
Free memory from 04000000 for 240.000M, which is equivalent to 3840 64K 
spaces.
-------
La shared arena parte da 04000000 e non più da 07CE0000, quindi 
l'intervallo che dicevi risulta inferiore (21Mb contro i 74.375Mb di 
ieri). Possibile che dopo il boot la situazione sia peggiore che dopo 
ore di uptime, o non ho capito niente?


 I memory leak sono proprio presenti principalmente con le 1.3.1 IBM e la 1.41 G.C.
anche con l' ultima refresh della 1.3.1?
Chebbello... allora sto tranquillo con la 1.4.2_05 della Innotek?




secondo me dopo il boot avevi in macchina qualche task un po' "avido" di memoria 
virtuale..
giusto per fare un es. io uso moltissimo il file commander..
a volte occupa molta + private memory lui di robe come firefox o thunderbird.. 
cmq ripeto, il problema e' quando quello "spazio" li' tra private e shared finisce...
a mio giudizio, fin che ce n'e' non si dovrebbero notare anomalie..


 Chebbello... allora sto tranquillo con la 1.4.2_05 della Innotek?
la 1.4.2 della Innotek a volte mi fa "chiudere" i programmi java, pero' mi da meno 
problemi
di "esaurimento risorse" di quella IBM (1.3.1 ultima release, ma anche le precedenti) e 
quella della Golden Code.. 


 a mio giudizio, fin che ce n'e' non si dovrebbero notare anomalie..
No, dopo il boot avevo avviato solo le poche cose che sono 
nell'Autostart, forse e' Seti la più esosa. Pero', col tempo, la shared 
arena si e' spostata in alto nella memoria, aumentando lo spazio tra la 
fine della privata e l'inizio della shared. Ora, dopo 24 ore, la 
situazione e' questa:
-------
There is 0.000M between the private and shared arenas.
Shared arena starts at 13000000, which is 304.000M.
-------
Quindi la shared arena si e' alzata, all'occorrenza, fino al limite di 
13000000. Sembrerebbe che abbia raggiunto il punto critico di cui 
parlavi. Il sistema e' comunque stabile e veloce, non noto problemi, ho 
ancora 825Mb di Ram disponibile (un centinaio di Mb sono spariti in 
queste 24 ore). Pero' ho 1Gb di Ram e se vado alla fine della videata, 
leggo:
-------
There is 178.848M between the private and shared arenas.
Above 512m Shared arena starts at 2C000000, which is 704.000M.
Free memory from 2C000000 for 1341.500M, which is equivalent to 21464 
64K spaces.
-------
1341.500M ??? Non so dove trovi quei 341.5 Mb extra, visto che lo 
swapper e' fermo ai valori iniziali di 2Mb e la ram e' 1Gb con 
arrotondamenti relativi.
Non ho idea se esista differenza pratica tra 'private' e 'shared arena' 
sotto e sopra i 512Mb, pero' forse esaurita una passa all'altra?
Purtroppo tra poco dovro' avviare l'innominabile SO per una cosa urgente 
su delle foto e non posso seguire l'evoluzione della cosa, ma lo faro' 
in futuro.


 il resto non "credo"...
giusto per informazione...
anche Odin.. :-)
appena verificato


>> Theseus2's window buffer is full.
< End of THESEUS4 (v 4.001.00) output @ 14:11:23 on 2004-11-16 >
addirittura il processo "javaw" ha finito anke la private sopra i 512MB...
invece il processo "pe" (odin) utilizza una fetta di private ma (ovviamente) non fino in 
fondo..
infatti se kiudo il processo java, riesco a ri-lanciare firefox..
