Das könnte ein Programmierfehler sein, ein Speicherleck. Wobei ich nicht weiß ob durch ein Speicherleck in einem Programm der Cache kleiner wird. Hast du die 64 bit Version des Linuxkernels installiert oder die 32 bit Version ?
Wenn die 32 bit Version installiert ist, dann mußt du eventuell den Linuxkernel selbst übersetzen und die High Memory Option auf 4 GByte einstellen.
Der Linuxkernel kann bis zu 64 GByte RAM verwalten, auch die 32 bit Version. Bei der 32 bit Version wird der Speicher in einen High Memory Teil und einen Low Memory Teil aufgeteilt. Die High Memory Option kann man auf Flat, 4 GByte und 64 GByte einstellen, je nachdem wieviel RAM-Speicher im Rechner ist.
Der Vorteil der 64 bit Version ist , das kein Unterschied mehr zwischen High Memory und Low Memory gemacht wird, aber die 32 bit Version kann auch bis zu 64 GByte RAM verwalten.
Hast du die 32 bit Version oder die 64 bit Version installiert und welche Distribution ?
Vielleicht ist wirklich irgendwo ein Speicherleck programmiert.