I suspect you've already seen this, but top and similar can be confusing when trying to interpret MMapDirectory. Uwe has an excellent explication:
http://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html Best, Erick On Wed, Aug 23, 2017 at 9:10 AM, Markus Jelsma <markus.jel...@openindex.io> wrote: > I have the problem in production and local, with default Solr 6.6 JVM > arguments, environments are: > > openjdk version "1.8.0_141" > OpenJDK Runtime Environment (build 1.8.0_141-8u141-b15-1~deb9u1-b15) > OpenJDK 64-Bit Server VM (build 25.141-b15, mixed mode) > Linux idx1 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u1 (2017-06-18) x86_64 > GNU/Linux > > and > > openjdk version "1.8.0_131" > OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.3-b11) > OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode) > Linux midas 4.10.0-32-generic #36-Ubuntu SMP Tue Aug 8 12:10:06 UTC 2017 > x86_64 x86_64 x86_64 GNU/Linux > > Regarding the node that shows the problem, can you reproduce it locally? Fire > it up, put some data in, confirm low shared space usage, and execute few > thousands queries against it? We immediately see a sharp rise in shared > memory, MB's per second until it reaches some sort of plateau. > > -----Original message----- >> From:Shawn Heisey <apa...@elyograg.org> >> Sent: Wednesday 23rd August 2017 16:37 >> To: solr-user@lucene.apache.org >> Subject: Re: Solr uses lots of shared memory! >> >> On 8/23/2017 7:32 AM, Markus Jelsma wrote: >> > Why does it slowly increase over time? >> > Why does it appear to correlate to index size? >> > Is anyone else seeing this on their 6.6 cloud production or local machines? >> >> More detailed information included here. My 6.6 dev install is NOT >> having the problem, but a much older version IS. >> >> I grabbed this screenshot only moments ago from a production server >> which is exhibiting a large SHR value for the Solr process: >> >> https://www.dropbox.com/s/q79lo2gft9es06u/idxa1-top-big-shr.png?dl=0 >> >> This is Solr 4.7.2, with a 10 month uptime for the Solr process, running >> with these arguments: >> >> -DSTOP.KEY=REDACTED >> -DSTOP.PORT=8078 >> -Djetty.port=8981 >> -Dsolr.solr.home=/index/solr4 >> -Dcom.sun.management.jmxremote.authenticate=false >> -Dcom.sun.management.jmxremote.ssl=false >> -Dcom.sun.management.jmxremote.port=8686 >> -Dcom.sun.management.jmxremote >> -XX:+PrintReferenceGC >> -XX:+PrintAdaptiveSizePolicy >> -XX:+PrintGCDetails >> -XX:+PrintGCDateStamps >> -Xloggc:logs/gc.log-verbose:gc >> -XX:+AggressiveOpts >> -XX:+UseLargePages >> -XX:InitiatingHeapOccupancyPercent=75 >> -XX:MaxGCPauseMillis=250 >> -XX:G1HeapRegionSize=8m >> -XX:+ParallelRefProcEnabled >> -XX:+PerfDisableSharedMem >> -XX:+UseG1GC >> -Dlog4j.configuration=file:etc/log4j.properties >> -Xmx8192M >> -Xms4096M >> >> The OS is CentOS 6, with the following Java and kernel: >> >> java version "1.7.0_72" >> Java(TM) SE Runtime Environment (build 1.7.0_72-b14) >> Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode) >> >> Linux idxa1 2.6.32-431.11.2.el6.centos.plus.x86_64 #1 SMP Tue Mar 25 >> 21:36:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux >> >> I also just grabbed a screenshot from my dev server, running Ubuntu 14, >> Solr 6.6.0, a LOT more index data, and a more recent Java version. Solr >> has an uptime of about one month. This server was installed with the >> service installer script, so it uses bin/solr. It doesn't seem to have >> the same problem: >> >> https://www.dropbox.com/s/85h1weuopa643za/bigindy5-top-small-shr.png?dl=0 >> >> java version "1.8.0_144" >> Java(TM) SE Runtime Environment (build 1.8.0_144-b01) >> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) >> >> Linux bigindy5 3.13.0-105-generic #152-Ubuntu SMP Fri Dec 2 15:37:11 UTC >> 2016 x86_64 x86_64 x86_64 GNU/Linux >> >> The arguments for this one are very similar to the production server: >> >> -DSTOP.KEY=solrrocks >> -DSTOP.PORT=7982 >> -Dcom.sun.management.jmxremote >> -Dcom.sun.management.jmxremote.authenticate=false >> -Dcom.sun.management.jmxremote.local.only=false >> -Dcom.sun.management.jmxremote.port=18982 >> -Dcom.sun.management.jmxremote.rmi.port=18982 >> -Dcom.sun.management.jmxremote.ssl=false >> -Djetty.home=/opt/solr6/server >> -Djetty.port=8982 >> -Dlog4j.configuration=file:/index/solr6/log4j.properties >> -Dsolr.install.dir=/opt/solr6 >> -Dsolr.log.dir=/index/solr6/logs >> -Dsolr.log.muteconsole >> -Dsolr.solr.home=/index/solr6/data >> -Duser.timezone=UTC >> -XX:+AggressiveOpts >> -XX:+ParallelRefProcEnabled >> -XX:+PrintGCApplicationStoppedTime >> -XX:+PrintGCDateStamps >> -XX:+PrintGCDetails >> -XX:+PrintGCTimeStamps >> -XX:+PrintHeapAtGC >> -XX:+PrintTenuringDistribution >> -XX:+UseG1GC >> -XX:+UseGCLogFileRotation >> -XX:+UseLargePages >> -XX:G1HeapRegionSize=8m >> -XX:GCLogFileSize=20M >> -XX:InitiatingHeapOccupancyPercent=75 >> -XX:MaxGCPauseMillis=250 >> -XX:NumberOfGCLogFiles=9 >> -XX:OnOutOfMemoryError=/opt/solr6/bin/oom_solr.sh 8982 /index/solr6/logs >> -Xloggc:/index/solr6/logs/solr_gc.log >> -Xms28g >> -Xmx28g >> -Xss256k >> -verbose:gc >> >> Neither system has any huge pages allocated in the OS, so I doubt that >> the UseLargePages option is actually doing anything. I've left it there >> in case I *do* enable huge pages, so they will automatically get used. >> >> Thanks, >> Shawn >> >>