0

I have a oracle linux 7 running Pentaho (an java application). This machine has 23 GB of ram and improve pentaho performance I'm trying to configure java to alocate 10 GB of RAM to pentaho ( -Xms10240m ). But after I start pentaho I get this.

biserver-ce]# free -g
               total        used        free      shared  buff/cache   available
Mem:             23           4           0           0          18          18
Swap:             9           0           9

The math don't match (4GB used memory + 0 free memory isn't equal to 23G).

The swap memory is unused and I don't understand why of 18G of data in cache. In another machine with the same config but for test this not happening.

The java process running

    root     12409     1  2 Jul26 ?        00:21:16 java -     Djava.util.logging.config.file=/opt/pentaho/server/biserver-ce/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dserver -Xmx10240m -Xms10240m -XX:MaxPermSize=1024m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.jnu.encoding=utf-8 -Dfile.encoding=utf-8 -Djava.awt.headless=true -Djava.endorsed.dirs=/opt/pentaho/server/biserver-ce/tomcat/endorsed -classpath /opt/pentaho/server/biserver-ce/tomcat/bin/bootstrap.jar -Dcatalina.base=/opt/pentaho/server/biserver-ce/tomcat -Dcatalina.home=/opt/pentaho/server/biserver-ce/tomcat -Djava.io.tmpdir=/opt/pentaho/server/biserver-ce/tomcat/temp org.apache.catalina.startup.Bootstrap start

limits config

#ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 190821
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 190821
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

EDIT:

After clear the cache with

echo 3 > /proc/sys/vm/drop_caches

I can start the service with 10Gb of RAM, but if I stop the service the cache grow up again. Is there a way to avoid manually clear the cache every time I stop/start the service?

3
  • Regarding your edit - you do not want to drop caches. Doing so will decrease performance. If you do not have enough RAM in this machine, plain and simple, you need to add RAM.
    – EEAA
    Jul 27, 2016 at 17:05
  • I think I do not make myself clear. I Have enough RAM (I have 23Gb and I want to use 10GB for my service). The problem is, every time I stop my service the cache grow up. THis machine run only my pentaho service. There is no reason do cache grow after I stop the pentaho service. This make clear the cache every time. So, how to avoid this or how discover what are using the cache. Jul 27, 2016 at 17:28
  • 1
    Read the duplicate question. You want cache to be used. It increases performance.
    – EEAA
    Jul 27, 2016 at 17:43

0

Browse other questions tagged .