Thank you.  I pasted those settings at the end of my /etc/default/solr.in.sh
just now and restarted solr.  I will see if that fixes it.  Previously, I
had no settings at all in solr.in.sh except for SOLR_PORT.

On Thu, Jun 11, 2020 at 1:59 PM Walter Underwood <wun...@wunderwood.org>
wrote:

> 1. You have a tiny heap. 536 Megabytes is not enough.
> 2. I stopped using the CMS GC years ago.
>
> Here is the GC config we use on every one of our 150+ Solr hosts. We’re
> still on Java 8, but will be upgrading soon.
>
> SOLR_HEAP=8g
> # Use G1 GC  -- wunder 2017-01-23
> # Settings from https://wiki.apache.org/solr/ShawnHeisey
> GC_TUNE=" \
> -XX:+UseG1GC \
> -XX:+ParallelRefProcEnabled \
> -XX:G1HeapRegionSize=8m \
> -XX:MaxGCPauseMillis=200 \
> -XX:+UseLargePages \
> -XX:+AggressiveOpts \
> "
>
> wunder
> Walter Underwood
> wun...@wunderwood.org
> http://observer.wunderwood.org/  (my blog)
>
> > On Jun 11, 2020, at 10:52 AM, Ryan W <rya...@gmail.com> wrote:
> >
> > On Wed, Jun 10, 2020 at 8:35 PM Hup Chen <chai...@hotmail.com> wrote:
> >
> >> I will check "dmesg" first, to find out any hardware error message.
> >>
> >
> > Here is what I see toward the end of the output from dmesg:
> >
> > [1521232.781785] [118857]    48 118857   108785      677     201
> > 901             0 httpd
> > [1521232.781787] [118860]    48 118860   108785      710     201
> > 881             0 httpd
> > [1521232.781788] [118862]    48 118862   113063     5256     210
> > 725             0 httpd
> > [1521232.781790] [118864]    48 118864   114085     6634     212
> > 703             0 httpd
> > [1521232.781791] [118871]    48 118871   139687    32323     262
> > 620             0 httpd
> > [1521232.781793] [118873]    48 118873   108785      821     201
> > 792             0 httpd
> > [1521232.781795] [118879]    48 118879   140263    32719     263
> > 621             0 httpd
> > [1521232.781796] [118903]    48 118903   108785      812     201
> > 771             0 httpd
> > [1521232.781798] [118905]    48 118905   113575     5606     211
> > 660             0 httpd
> > [1521232.781800] [118906]    48 118906   113563     5694     211
> > 626             0 httpd
> > [1521232.781801] Out of memory: Kill process 117529 (httpd) score 9 or
> > sacrifice child
> > [1521232.782908] Killed process 117529 (httpd), UID 48,
> total-vm:675824kB,
> > anon-rss:181844kB, file-rss:0kB, shmem-rss:0kB
> >
> > Is this a relevant "Out of memory" message?  Does this suggest an OOM
> > situation is the culprit?
> >
> > When I grep in the solr logs for oom, I see some entries like this...
> >
> > ./solr_gc.log.4.current:CommandLine flags: -XX:CICompilerCount=4
> > -XX:CMSInitiatingOccupancyFraction=50
> -XX:CMSMaxAbortablePrecleanTime=6000
> > -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark
> > -XX:ConcGCThreads=4 -XX:GCLogFileSize=20971520
> > -XX:InitialHeapSize=536870912 -XX:MaxHeapSize=536870912
> > -XX:MaxNewSize=134217728 -XX:MaxTenuringThreshold=8
> > -XX:MinHeapDeltaBytes=196608 -XX:NewRatio=3 -XX:NewSize=134217728
> > -XX:NumberOfGCLogFiles=9 -XX:OldPLABSize=16 -XX:OldSize=402653184
> > -XX:-OmitStackTraceInFastThrow
> > -XX:OnOutOfMemoryError=/opt/solr/bin/oom_solr.sh 8983
> /opt/solr/server/logs
> > -XX:ParallelGCThreads=4 -XX:+ParallelRefProcEnabled
> > -XX:PretenureSizeThreshold=67108864 -XX:+PrintGC
> > -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps
> > -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
> > -XX:+PrintTenuringDistribution -XX:SurvivorRatio=4
> > -XX:TargetSurvivorRatio=90 -XX:ThreadStackSize=256
> > -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCompressedClassPointers
> > -XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseGCLogFileRotation
> > -XX:+UseParNewGC
> >
> > Buried in there I see "OnOutOfMemoryError=/opt/solr/bin/oom_solr.sh".
> But I
> > think this is just a setting that indicates what to do in case of an OOM.
> > And if I look in that oom_solr.sh file, I see it would write an entry to
> a
> > solr_oom_kill log. And there is no such log in the logs directory.
> >
> > Many thanks.
> >
> >
> >
> >
> >> Then use some system admin tools to monitor that server,
> >> for instance, top, vmstat, lsof, iostat ... or simply install some nice
> >> free monitoring tool into this system, like monit, monitorix, nagios.
> >> Good luck!
> >>
> >> ________________________________
> >> From: Ryan W <rya...@gmail.com>
> >> Sent: Thursday, June 11, 2020 2:13 AM
> >> To: solr-user@lucene.apache.org <solr-user@lucene.apache.org>
> >> Subject: Re: How to determine why solr stops running?
> >>
> >> Hi all,
> >>
> >> People keep suggesting I check the logs for errors.  What do those
> errors
> >> look like?  Does anyone have examples of the text of a Solr oom error?
> Or
> >> the text of any other errors I should be looking for the next time solr
> >> fails?  Are there phrases I should grep for in the logs?  Should I be
> >> looking in the Solr logs for an OOM error, or in the Apache logs?
> >>
> >> There is nothing failing on the server except for solr -- at least not
> that
> >> I can see.  There is no apparent problem with the hardware or anything
> else
> >> on the server.  The OS is Red Hat Enterprise Linux. The server has 16
> GB of
> >> RAM and hosts one website that does not get a huge amount of traffic.
> >>
> >> When the start command is given to solr, does it first check to see if
> solr
> >> is running, or does it always start solr whether it is already running
> or
> >> not?
> >>
> >> Many thanks!
> >> Ryan
> >>
> >>
> >> On Tue, Jun 9, 2020 at 7:58 AM Erick Erickson <erickerick...@gmail.com>
> >> wrote:
> >>
> >>> To add to what Dave said, if you have a particular machine that’s prone
> >> to
> >>> suddenly stopping, that’s usually a red flag that you should seriously
> >>> think about hardware issues.
> >>>
> >>> If the problem strikes different machines, then I agree with Shawn that
> >>> the first thing I’d be suspicious of is OOM errors.
> >>>
> >>> FWIW,
> >>> Erick
> >>>
> >>>> On Jun 9, 2020, at 6:05 AM, Dave <hastings.recurs...@gmail.com>
> wrote:
> >>>>
> >>>> I’ll add that whenever I’ve had a solr instance shut down, for me it’s
> >>> been a hardware failure. Either the ram or the disk got a “glitch” and
> >> both
> >>> of these are relatively fragile and wear and tear type parts of the
> >>> machine, and should be expected to fail and be replaced from time to
> >> time.
> >>> Solr is pretty aggressive with its logging so there are a lot of writes
> >>> always happening and of course reads, if the disk has any issues or the
> >>> memory it can lock it up and bring her down, more so if you have any
> >>> spellcheck dictionaries or suggesters being built on start up.
> >>>>
> >>>> Just my experience with this, could be wrong (most likely wrong) but
> we
> >>> always have extra drives and memory around the server room for this
> >>> reason.  At least once or twice a year we will have a disk failure in
> the
> >>> raid and need to swap in a new one.
> >>>>
> >>>> Good luck though, also solr should be logging it’s failures so it
> would
> >>> be good to look there too
> >>>>
> >>>>> On Jun 9, 2020, at 2:35 AM, Shawn Heisey <apa...@elyograg.org>
> wrote:
> >>>>>
> >>>>> On 5/14/2020 7:22 AM, Ryan W wrote:
> >>>>>> I manage a site where solr has stopped running a couple times in the
> >>> past
> >>>>>> week. The server hasn't been rebooted, so that's not the reason.
> >> What
> >>> else
> >>>>>> causes solr to stop running?  How can I investigate why this is
> >>> happening?
> >>>>>
> >>>>> Any situation where Solr stops running and nobody requested the stop
> >> is
> >>> a result of a serious problem that must be thoroughly investigated.  I
> >>> think it's a bad idea for Solr to automatically restart when it stops
> >>> unexpectedly.  Chances are that whatever caused the crash is going to
> >>> simply make the crash happen again until the problem is solved.
> >>> Automatically restarting could hide problems from the system
> >> administrator.
> >>>>>
> >>>>> The only way a Solr auto-restart would be acceptable to me is if it
> >>> sends a high priority alert to the sysadmin EVERY time it executes an
> >>> auto-restart.  It really is that bad of a problem.
> >>>>>
> >>>>> The causes of Solr crashes (that I can think of) include the
> >> following.
> >>> I believe I have listed these four options from most likely to least
> >> likely:
> >>>>>
> >>>>> * Java OutOfMemoryError exceptions.  On non-windows systems, the
> >>> "bin/solr" script starts Solr with an option that results in Solr's
> death
> >>> anytime one of these exceptions occurs.  We do this because program
> >>> operation is indeterminate and completely unpredictable when OOME
> occurs,
> >>> so it's far safer to stop running.  That exception can be caused by
> >> several
> >>> things, some of which actually do not involve memory at all.  If you're
> >>> running on Windows via the bin\solr.cmd command, then this will not
> >> happen
> >>> ... but OOME could still cause a crash, because as I already mentioned,
> >>> program operation is unpredictable when OOME occurs.
> >>>>>
> >>>>> * The OS kills Solr because system memory is completely exhausted and
> >>> Solr is the process using the most memory.  Linux calls this the
> >>> "oom-killer" ... I am pretty sure something like it exists on most
> >>> operating systems.
> >>>>>
> >>>>> * Corruption somewhere in the system.  Could be in Java, the OS,
> Solr,
> >>> or data used by any of those.
> >>>>>
> >>>>> * A very serious bug in Solr's code that we haven't discovered yet.
> >>>>>
> >>>>> I included that last one simply for completeness.  A bug that causes
> a
> >>> crash *COULD* exist, but as of right now, we have not seen any
> supporting
> >>> evidence.
> >>>>>
> >>>>> My guess is that Java OutOfMemoryError is the cause here, but I can't
> >>> be certain.  If that is happening, then some resource (which might not
> be
> >>> memory) is fully depleted.  We would need to see the full
> >> OutOfMemoryError
> >>> exception in order to determine why it is happening. Sometimes the
> >>> exception is logged in solr.log, sometimes it isn't.  We cannot predict
> >>> what part of the code will be running when OOME occurs, so it would be
> >>> nearly impossible for us to guarantee logging.  OOME can happen
> ANYWHERE
> >> -
> >>> even in code that the compiler thinks is immune to exceptions.
> >>>>>
> >>>>> Side note to fellow committers:  I wonder if we should implement an
> >>> uncaught exception handler in Solr.  I have found in my own programs
> that
> >>> it helps figure out thorny problems.  And while I am on the subject of
> >>> handlers that might not be general knowledge, I didn't find a shutdown
> >> hook
> >>> or a security manager outside of tests.
> >>>>>
> >>>>> Thanks,
> >>>>> Shawn
> >>>
> >>>
> >>
>
>

Reply via email to