Hi Shawn,

Thank you for your explanation.

Yes, both of the top two processes are Solr. I have two Solr processes on
one machine now, as the second one is a replica of the first one. In the
future, the plan is to have them on separate machine.


>Subtracting SHR from RES (or in your case, Shareable from Working)
>reveals the actual memory being used, and I believe you can see this
>actual number in the Private column, which is approximately the
>difference between Working and Shareable.  If I'm right, this means that
>the actual memory usage is almost 14GB lower than Windows is reporting.

Does this means that sometimes when I see the high memory usage (can be up
to 100%), it is just a memory reporting error by Windows, but Solr is
working exactly as it should?

Regards,
Edwin


On 7 January 2016 at 04:42, Shawn Heisey <apa...@elyograg.org> wrote:

> On 1/5/2016 11:50 PM, Zheng Lin Edwin Yeo wrote:
> > Here is the new screenshot of the Memory tab of the Resource Monitor.
> > https://www.dropbox.com/s/w4bnrb66r16lpx1/Resource%20Monitor.png?dl=0
> >
> > Yes, I found that the value under the "Working Set" column is much higher
> > than the others. Also, the value which I was previously looking at under
> > the Task Manager is under the Private Column here.
> > It says that I have about 14GB of available memory, but the "Free" number
> > is much lower, at 79MB.
>
> You'll probably think I'm nuts, but I believe everything is working
> exactly as it should.
>
> The first two processes, which I assume are Solr processes, show a
> Shareable size near 7GB each.  I have seen something similar happen on
> Linux where SHR memory is huge for the Solr process, and when this
> happens, the combination of memory numbers would turn out to be
> impossible, so I think it's a memory reporting bug related to Java, one
> that affects both Linux and Windows.
>
> Subtracting SHR from RES (or in your case, Shareable from Working)
> reveals the actual memory being used, and I believe you can see this
> actual number in the Private column, which is approximately the
> difference between Working and Shareable.  If I'm right, this means that
> the actual memory usage is almost 14GB lower than Windows is reporting.
>
> If both of the top processes are Solr, I'm not sure why you have two
> Solr processes on one machine.  One Solr instance can handle multiple
> indexes with no problem.
>
> As evidence that I'm not insane, consider the following screenshot, from
> another of my servers:
>
> https://www.dropbox.com/s/64en3sar4cr1ytj/linux-solr-mem-high-shr.png?dl=0
>
> On the screenshot, the solr process shows RES size of 22GB ... which is
> highly unusual, because this Solr install has a max heap of 8GB ... but
> notice that SHR is 13GB.  The difference between 22GB and 13GB is 9GB,
> which is much more reasonable, and if we assume that the 22GB is rounded
> up and/or the 13GB is rounded down, then the difference is much closer
> to 8GB.  Looking at some other numbers, the "cached" value is 48GB.  If
> you add the 48GB cache allocation to the *reported* resident size of
> 22GB for Solr, you get a total of 70GB ... which is more memory than the
> machine even has (64GB).  This is why I am sure that when SHR is really
> high on a Java process, it is a memory reporting error.
>
> Thanks,
> Shawn
>
>

Reply via email to