| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Tomcat op hukommelse Fra : Jacob Bunk Nielsen | 
  Dato :  11-02-05 12:03 |  
  |   
            Hej
 
 Jeg har en Tomcat 5, som er vært for en Servlet der bruger en del
 hukommelse. Jeg har prøvet at sætte CATALINA_OPTS til "-XmxNg", hvor N
 fx er 2 eller 3 (maskinen er en x86 med 4 GB hukommelse og en masse
 swap), men det vil den ikke. Den siger:
 
 ,----
 | Error occurred during initialization of VM
 | Could not reserve enough space for object heap
 `----
 
 Problemet er at min applikation crasher når den løber tør for
 hukommelse, også selv om den ikke har brugt al hukommelsen på
 serveren.
 
 Hvad overser jeg? Eller kan Tomcat/Java bare ikke håndtere
 applikationer der bruger så meget hukommelse? Det synes jeg lyder
 forkert, så jeg er sikker på at jeg har overset noget.
 
 -- 
 Jacob
  
            
             |   |   
            
        
 
            
         
           Jonas Kongslund (11-02-2005) 
         
	
            | Kommentar Fra : Jonas Kongslund | 
  Dato :  11-02-05 12:34 |  
  |   
            On Fredag 11 februar 2005 12:02, Jacob Bunk Nielsen wrote:
 
 > Jeg har en Tomcat 5, som er vært for en Servlet der bruger en del
 > hukommelse. Jeg har prøvet at sætte CATALINA_OPTS til "-XmxNg", hvor N
 > fx er 2 eller 3 (maskinen er en x86 med 4 GB hukommelse og en masse
 > swap), men det vil den ikke. Den siger:
 
 Jeg tror ikke du kan bruge g som enhed for gigabyte. Prøv med "-Xmx1024m" i
 stedet for.
 
 -- 
 Jonas Kongslund
  
            
             |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (11-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  11-02-05 13:36 |  
  |   
            Jonas Kongslund <dont@mail.me.at.all> writes:
 > On Fredag 11 februar 2005 12:02, Jacob Bunk Nielsen wrote:
 >
 >> Jeg har en Tomcat 5, som er vært for en Servlet der bruger en del
 >> hukommelse. Jeg har prøvet at sætte CATALINA_OPTS til "-XmxNg", hvor N
 >> fx er 2 eller 3 (maskinen er en x86 med 4 GB hukommelse og en masse
 >> swap), men det vil den ikke. Den siger:
 >
 > Jeg tror ikke du kan bruge g som enhed for gigabyte. Prøv med "-Xmx1024m" i
 > stedet for.
 
 Det gør ingen forskel. Jeg lagde dog mærke til at jeg sjovt nok først
 får den pågældende fejl når jeg forsøger at lukke min tomcat. Hvorfor
 det? Om jeg sætter den til 1 GB eller 3 GB gør ingen forskel for hvor
 meget hukommelse min Tomcat kan udnytte. Den lader til at dø omkring 2
 GB.
 
 Jeg glemte i øvrigt:
 
 $ java -version
 java version "1.4.2_03"
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
 Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
 
 Har det noget at sige? Maskinen kører i øvrigt Linux 2.4.27, hvis det
 skulle gøre nogen forskel?
 
 -- 
 Jacob
  
            
             |   |   
            
        
 
            
         
            Thorbjoern Ravn Ande~ (11-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  11-02-05 13:53 |  
  |  
 
            Jacob Bunk Nielsen <spam@bunk.cc> writes:
 > meget hukommelse min Tomcat kan udnytte. Den lader til at dø omkring 2
 > GB.
 Det kan godt tænkes at være en begrænsning i en 32-bit Java.
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
             Martin Husted Hartvi~ (11-02-2005) 
         
	
            | Kommentar Fra : Martin Husted Hartvi~ | 
  Dato :  11-02-05 14:44 |  
  |  
 
            On 11 Feb 2005 13:52:48 +0100, Thorbjoern Ravn Andersen <nospam0000@c.dk>  
 wrote:
 > Jacob Bunk Nielsen <spam@bunk.cc> writes:
 >
 >> meget hukommelse min Tomcat kan udnytte. Den lader til at dø omkring 2
 >> GB.
 >
 > Det kan godt tænkes at være en begrænsning i en 32-bit Java.
 >
 Thjaa...  http://forum.java.sun.com/thread.jspa?forumID=37&threadID=338318
Martin
            
              |   |   
            
        
 
            
         
              Thorbjoern Ravn Ande~ (11-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  11-02-05 15:18 |  
  |  
 
            "Martin Husted Hartvig" <mh@ctek.dk> writes:
 > Thjaa...  http://forum.java.sun.com/thread.jspa?forumID=37&threadID=338318
Tak for at finde officiel dokumentation.
 I den aktuelle situtation må man konstatere at hvis problemet ikke kan
 spredes ud over flere JVM'er (som kan load balances), er det tiden til
 at overveje en 64-bit arkitektur (som Sun leverer en JVM til).
 Eftersom Jacob svjv sidder i et universitetsmiljø er det slet ikke
 umuligt at han kan få adgang til en Solarismaskine, eller måske endda
 arve en :)
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
            Jonas Kongslund (11-02-2005) 
         
	
            | Kommentar Fra : Jonas Kongslund | 
  Dato :  11-02-05 19:27 |  
  |   
            On Fredag 11 februar 2005 13:36, Jacob Bunk Nielsen wrote:
 >> Jeg tror ikke du kan bruge g som enhed for gigabyte. Prøv med "-Xmx1024m"
 >> i stedet for.
 > Det gør ingen forskel.
 
 Ok. 'g' var bare ikke dokumenteret i den tooldoc som jeg kiggede i.
 
 -- 
 Jonas Kongslund
  
            
             |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (11-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  11-02-05 16:34 |  
  |  
 
            Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
 > I den aktuelle situtation må man konstatere at hvis problemet ikke kan
 > spredes ud over flere JVM'er (som kan load balances), er det tiden til
 > at overveje en 64-bit arkitektur (som Sun leverer en JVM til).
 Kan man umiddelbart sprede en Tomcat-installation over flere JVM'er?
 Jeg kan ikke bare sprede loadet på flere Tomcats, da vi desværre i ny
 og næ oplever at en enkelt instans bruger de 2 GB hukommelse alene.
 > Eftersom Jacob svjv sidder i et universitetsmiljø er det slet ikke
 > umuligt at han kan få adgang til en Solarismaskine, eller måske endda
 > arve en :)
 Det er kun til hverdag at jeg sidder som specialestuderende i et
 universitetsmiljø, og der har jeg i øvrigt adgang til masser af store
 Sun-maskiner. Her skriver jeg i min egenskab af computernørd hos det
 firma der betaler min husleje når blot jeg besøger dem i ny og næ   
Om nødvendigt vil vi såmænd også gerne indkøbe servere der kan det vi
 vil, men er der så nogen der ved om man med en 64 bit java på fx
 Solaris eller en 64 bit Linux kan bruge mere end 2 GB hukommelse?
 Linket Martin gav indikerede at man kunne, men praktiske erfaringer er
 jo altid godt.
 -- 
 Jacob
            
              |   |   
            
        
 
            
         
            Thorbjoern Ravn Ande~ (11-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  11-02-05 20:30 |  
  |  
 
            Jacob Bunk Nielsen <spam@bunk.cc> writes:
 > Kan man umiddelbart sprede en Tomcat-installation over flere JVM'er?
 Nej, men du kan sprede en webapplikation over flere JVM'er.
 > Jeg kan ikke bare sprede loadet på flere Tomcats, da vi desværre i ny
 > og næ oplever at en enkelt instans bruger de 2 GB hukommelse alene.
 Er det indiskret at spørge om det er noget der kan gøres noget ved?
 Der er fx ikke noget til hinder for at fx jeres hovedapplikation kan
 spørge en anden maskine om et delresultat.  Det har jeg selv gjort med
 success med Apache FOP rendering, der også var meget glubsk mht
 ressourceforbrug. 
 > Om nødvendigt vil vi såmænd også gerne indkøbe servere der kan det
 > vi vil, men er der så nogen der ved om man med en 64 bit java på fx
 > Solaris eller en 64 bit Linux kan bruge mere end 2 GB hukommelse?
 > Linket Martin gav indikerede at man kunne, men praktiske erfaringer
 > er jo altid godt.
 Jeg har ikke selv erfaring med det, men du kunne jo eventuelt selv
 fyre en tomcat op på en af dine studiemaskiner og smide et stort
 problem efter det.
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (16-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  16-02-05 18:21 |  
  |   
            Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
 
 > Ok.  Meld tilbage når du har resultater.
 
 Vi har nu lånt en V20z af Sun. Det er en AMD Opteron, men desværre kun
 med 2 GB hukommelse. Jeg har naturligvis lavet en masse swap da jeg
 installerede Solaris 10 på den, så den burde kunne klare det
 alligevel.
 
 Desværre lader det så til at Sun ikke udbyder en 64 bit Java til
 AMD64. Kan det virkelig passe? Så kommer man jo ikke langt for 5000
 til en Opteron.
 
 Jeg har skrevet Java-program der allokerer en masse hukommelse, og gør
 det 1 MB ad gangen. Hvis jeg prøver med -XmxNm for N større end 2750
 bliver den sur og siger:
 
 $ java -Xmx2800m test
 Error occurred during initialization of VM
 Could not reserve enough space for object heap
 Could not create the Java virtual machine.
 
 -- 
 Jacob
  
            
             |   |   
            
        
 
            
         
            Thorbjoern Ravn Ande~ (16-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  16-02-05 22:42 |  
  |  
 
            Jacob Bunk Nielsen <spam@bunk.cc> writes:
 > Vi har nu lånt en V20z af Sun. Det er en AMD Opteron, men desværre kun
 > med 2 GB hukommelse. Jeg har naturligvis lavet en masse swap da jeg
 > installerede Solaris 10 på den, så den burde kunne klare det
 > alligevel.
 Og det er en 64 bit kerne?  Hvorfor lånte I ikke en Sparcmaskine nu I
 var i gang?
 > Jeg har skrevet Java-program der allokerer en masse hukommelse, og gør
 > det 1 MB ad gangen. Hvis jeg prøver med -XmxNm for N større end 2750
 > bliver den sur og siger:
 > 
 > $ java -Xmx2800m test
 > Error occurred during initialization of VM
 > Could not reserve enough space for object heap
 > Could not create the Java virtual machine.
 Øv.  Det skal være en 64 bit version førend det rykker.
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (12-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  12-02-05 14:10 |  
  |  
 
            Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
 > Jacob Bunk Nielsen <spam@bunk.cc> writes:
 >
 >> Kan man umiddelbart sprede en Tomcat-installation over flere JVM'er?
 >
 > Nej, men du kan sprede en webapplikation over flere JVM'er.
 Hmmm - det må jeg vist lige læse lidt op på. Desværre er det til tider
 et enkelt problem/instans der tager så mange ressourcer, så jeg er
 ikke sikker på at det hjælper.
 > Er det indiskret at spørge om det er noget der kan gøres noget ved?
 Nej, slet ikke, men det tror jeg desværre ikke der kan. De data vi
 arbejder med fylder bare meget.
 > Der er fx ikke noget til hinder for at fx jeres hovedapplikation kan
 > spørge en anden maskine om et delresultat.
 Det er muligt man kan lavet noget i den retning, men det giver
 desværre bare øget kompleksitet, og virker lidt som symptombehandling
 frem for en rigtig løsning. Så tror jeg hellere vi vil købe en 64 bit
 dims, hvis det kan løse vores problem (det er dog ikke min
 beslutning).
 >> Om nødvendigt vil vi såmænd også gerne indkøbe servere der kan det
 >> vi vil, men er der så nogen der ved om man med en 64 bit java på fx
 >> Solaris eller en 64 bit Linux kan bruge mere end 2 GB hukommelse?
 >> Linket Martin gav indikerede at man kunne, men praktiske erfaringer
 >> er jo altid godt.
 >
 > Jeg har ikke selv erfaring med det, men du kunne jo eventuelt selv
 > fyre en tomcat op på en af dine studiemaskiner og smide et stort
 > problem efter det.
 Det var måske en idé. Man skulle vel nok kunne lave et lille program
 der allokerer en masse hukommelse. Det bliver dog tidligst på mandag.
 -- 
 Jacob -  www.bunk.cc
If you didn't get caught, did you really do it?
            
              |   |   
            
        
 
            
         
           Thorbjoern Ravn Ande~ (12-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  12-02-05 14:17 |  
  |  
 
            Jacob Bunk Nielsen <spam@bunk.cc> writes:
 > Nej, slet ikke, men det tror jeg desværre ikke der kan. De data vi
 > arbejder med fylder bare meget.
 Nu ved jeg jo ikke hvad problem I løser, men en typisk løsning for
 store datamængder er jo at skovle det ned i en database som gør det
 muligt at foretage optimerede forespørgsler i stedet for at hive hele
 møllen ind i hukommelsen og så udtrække det nødvendige.
 Er noget tilsvarende muligt her?
 > frem for en rigtig løsning. Så tror jeg hellere vi vil købe en 64 bit
 > dims, hvis det kan løse vores problem (det er dog ikke min
 > beslutning).
 Man kan komme langt for 5000 til en AMD64 maskine.
 > Det var måske en idé. Man skulle vel nok kunne lave et lille program
 > der allokerer en masse hukommelse. Det bliver dog tidligst på mandag.
 Ingen ssh?
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (12-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  12-02-05 16:04 |  
  |  
 
            Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
 > Jacob Bunk Nielsen <spam@bunk.cc> writes:
 >
 >> Nej, slet ikke, men det tror jeg desværre ikke der kan. De data vi
 >> arbejder med fylder bare meget.
 >
 > Nu ved jeg jo ikke hvad problem I løser, men en typisk løsning for
 > store datamængder er jo at skovle det ned i en database som gør det
 > muligt at foretage optimerede forespørgsler i stedet for at hive hele
 > møllen ind i hukommelsen og så udtrække det nødvendige.
 >
 > Er noget tilsvarende muligt her?
 Nej, desværre ikke umiddelbart. Det drejer blandt andet om at nogle
 forespørgsler giver meget output.
 >> [...] Så tror jeg hellere vi vil købe en 64 bit dims, hvis det kan
 >> løse vores problem (det er dog ikke min beslutning).
 >
 > Man kan komme langt for 5000 til en AMD64 maskine.
 Men man får ikke 4 GB hukommelse, 4 CPU'er, hurtige harddiske og noget
 backup til den pris   
Den server vi bruger lige nu har kostet adskillige gange 5000 kroner
  
>> Det var måske en idé. Man skulle vel nok kunne lave et lille program
 >> der allokerer en masse hukommelse. Det bliver dog tidligst på mandag.
 >
 > Ingen ssh?
 Jo, men weekend, tømmermænd og en masse andre ting der også skal laves
  
-- 
 Jacob -  www.bunk.cc
Got a dictionary?  I want to know the meaning of life.
            
              |   |   
            
        
 
            
         
           Thorbjoern Ravn Ande~ (12-02-2005) 
         
	
            | Kommentar Fra : Thorbjoern Ravn Ande~ | 
  Dato :  12-02-05 17:38 |  
  |  
 
            Jacob Bunk Nielsen <spam@bunk.cc> writes:
 > Nej, desværre ikke umiddelbart. Det drejer blandt andet om at nogle
 > forespørgsler giver meget output.
 Jeg kan stadig ikke forstå det.  Får man meget output behøver man jo
 ikke have det hele i hukommelsen.  Nå, der er sikkert en god grund til
 at I ikke kan reducere problemet.
 > > Man kan komme langt for 5000 til en AMD64 maskine.
 > 
 > Men man får ikke 4 GB hukommelse, 4 CPU'er, hurtige harddiske og noget
 > backup til den pris   
Ikke?  Der kan man se.  I kan også høre hos Epoka.dk angående brugt
 Sunudstyr - så vidt jeg ved er der evig licens til Solaris, og der kan
 I hente hele møllen hos sun.
 > > Ingen ssh?
 > 
 > Jo, men weekend, tømmermænd og en masse andre ting der også skal laves
 Ok.  Meld tilbage når du har resultater.
 -- 
   Thorbjørn Ravn Andersen
   http://unixsnedkeren.dk/ravn/
            
             |   |   
            
        
 
            
         
            Martin Husted Hartvi~ (13-02-2005) 
         
	
            | Kommentar Fra : Martin Husted Hartvi~ | 
  Dato :  13-02-05 16:50 |  
  |  
 
            On 12 Feb 2005 17:37:41 +0100, Thorbjoern Ravn Andersen <nospam0000@c.dk>  
 wrote:
 > Jacob Bunk Nielsen <spam@bunk.cc> writes:
 >
 >> Nej, desværre ikke umiddelbart. Det drejer blandt andet om at nogle
 >> forespørgsler giver meget output.
 >
 > Jeg kan stadig ikke forstå det.  Får man meget output behøver man jo
 > ikke have det hele i hukommelsen.  Nå, der er sikkert en god grund til
 > at I ikke kan reducere problemet.
 En god memory sluger er toString, jeg har oplevet at memory'en blev ædt  
 under logning, så hvis du har sådan noget, så prøv at fjern det.
 >
 >> > Man kan komme langt for 5000 til en AMD64 maskine.
 >>
 >> Men man får ikke 4 GB hukommelse, 4 CPU'er, hurtige harddiske og noget
 >> backup til den pris   
>
 > Ikke?  Der kan man se.  I kan også høre hos Epoka.dk angående brugt
 > Sunudstyr - så vidt jeg ved er der evig licens til Solaris, og der kan
 > I hente hele møllen hos sun.
 >
 >> > Ingen ssh?
 >>
 >> Jo, men weekend, tømmermænd og en masse andre ting der også skal laves
 Lyder meget bekendt :)
 >
 > Ok.  Meld tilbage når du har resultater.
 >
 Martin
            
              |   |   
            
        
 
            
         
           Jacob Bunk Nielsen (17-02-2005) 
         
	
            | Kommentar Fra : Jacob Bunk Nielsen | 
  Dato :  17-02-05 09:17 |  
  |  
 
            Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
 > Jacob Bunk Nielsen <spam@bunk.cc> writes:
 >
 >> Vi har nu lånt en V20z af Sun. Det er en AMD Opteron, men desværre kun
 >> med 2 GB hukommelse. Jeg har naturligvis lavet en masse swap da jeg
 >> installerede Solaris 10 på den, så den burde kunne klare det
 >> alligevel.
 >
 > Og det er en 64 bit kerne?  Hvorfor lånte I ikke en Sparcmaskine nu I
 > var i gang?
 Yep, det er en 64 bit kerne.
 Vi lånte ikke en SPARC fordi vi havde kig på en V40z, og så var den
 der V20z lige den der lignede mest af dem de havde på lager i deres
 demopool. Desuden er SPARC'erne jo også voldsomt meget dyrere, og ikke
 nær så hurtige.
 -- 
 Jacob -  www.bunk.cc
Don't I know you?
            
              |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |