Frisim-servern minns inte

Frisim har under den senaste veckan spottat ur sig några felmeddelanden på grund av minnesbrist. De flesta felen har uppstått vid ”intern processning”, och bara ett mindre antal har synts för besökare på sajten. Problemet uppstår när sökningar görs som kräver mycket sortering för att få rätt kategorilistning, samtidigt som nya artiklar håller på att indexeras. Då både indexering och sökning sker via en Java-servlet så har det uppenbarligen lett till Frisims JVM som kör Tomcat får minnesproblem. Som standard tillåts bara att JVM:en använder 64MB minne för datahantering. När det inte räcker leder det till fel av typen:

exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.OutOfMemoryError: Java heap space

Jag har justerat maxgränsen för minnesutnyttjande uppåt en aning och hoppas på att det ska lösa mina problem – och de senaste 3 dagarna har det fungerat minnesproblemfritt. Servern som driver Frisim fyller 3 år den 2 augusti. Med lite otur så behöver jag mer minne i servern i framtiden, alternativt måste jag ta lite ”genvägar” när det käller att skapa kategorilistningarna. Framtiden får utvisa vad som är bäst – men som vanligt så brukar algoritmförändringar kunna fås att ”skala” mycket bättre än att addera mer minne, i längden.

  1. Marcus Herou skriver:

    Shit 64 meg… Jag kör SOLR (Lucene) och för att orka med att indexera och söka mot alla 120 000 svenska bloggar så har jag varit tvungen att öka heapen till 1 GB, annars fick jag OOE hela dagarna. Nu har jag installerat två slavar som kommer avlasta mastern.

  2. Clas skriver:

    Hej Marcus. Upplägget hos Tailsweep låter intressant. Jag skickar dig ett mail =)

  1. There are no trackbacks for this post yet.