Thanks a lot Uwe, will check out in the new 3.6.1

On Mon, Jul 23, 2012 at 11:46 AM, Uwe Schindler <u...@thetaphi.de> wrote:

> Hi Geetha Anjali,
>
> Lucene will not use MMapDirectoy by default on 32 bit platforms or if you
> are not using a Oracle/Sun JVM. On 64 bit platforms, Lucene will use it,
> but
> will accept the risks of segfaulting when unmapping the buffers - Lucene
> does try its best to prevent this. It is a risk, but accepted by the Lucene
> developers.
>
> To come back to your issue: It is perfectly fine on Solr/Lucene to not
> unmap
> all buffers as long as the index is open. The number of open file handles
> is
> another discussion, but not related at all to MMap, if you are using an old
> Lucene version (like 3.0.2), you should upgrade in all cases The recent one
> is 3.6.1.
>
> Uwe
>
> -----
> Uwe Schindler
> H.-H.-Meier-Allee 63, D-28213 Bremen
> http://www.thetaphi.de
> eMail: u...@thetaphi.de
>
> > -----Original Message-----
> > From: geetha anjali [mailto:anjaliprabh...@gmail.com]
> > Sent: Monday, July 23, 2012 4:28 AM
> > Subject: Re: How to setup SimpleFSDirectoryFactory
> >
> > Hu Uwe,
> > Thanks Wwe, Have you checked the Bug in JRE for mmapDirectory?. I was
> > mentioning this, This is posted in Oracle site, and the API doc.
> > They accept this as a bug, have you seen this?.
> >
> > "MMapDirectory<http://lucene.apache.org/java/3_0_2/api/core/org/apache/l
> > u=ene/store/MMapDirectory.html>uses
> > memory-mapped IO when reading. This is a good choice if you have plenty
> of
> > virtual memory relative to your index size, eg if you are running on a 64
> bit JRE,
> > or you are running on a 32 bit JRE but your index sizes are small enough
> to fit
> > into the virtual memory space. Java has currently the limitation of not
> being
> > able to unmap files from user code. The files are unmapped, when GC
> releases
> > the byte buffers. *Due to this
> > bug<http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038>in
> > Sun's JRE,
> > MMapDirectory's
> >
> **IndexInput.close()*<
> http://lucene.apache.org/java/3_0_2/api/core/org/apac
> > =e/lucene/store/IndexInput.html#close%28%29>
> > * is unable to close the underlying OS file handle. Only when GC finally
> collects
> > the underlying objects, which could be quite some time later, will the
> file
> > handle be closed*. *This will consume additional transient disk
> > usage*: on Windows, attempts to delete or overwrite the files will result
> in an
> > exception; on other platforms, which typically have a "delete on last
> close"
> > semantics, while such operations will succeed, the bytes are still
> consuming
> > space on disk. For many applications this limitation is not a problem
> (e.g. if you
> > have plenty of disk space, and you don't rely on overwriting files on
> Windows)
> > but it's still an important limitation to be aware of. This class
> supplies
> a
> > (possibly dangerous) workaround mentioned in the bug report, which may
> fail
> > on non-Sun JVMs. "
> >
> >
> > Thanks,
> >
> >
> > On Mon, Jul 23, 2012 at 4:13 AM, Uwe Schindler <u...@thetaphi.de> wrote:
> >
> > > It is hopeless to talk to both of you, you don't understand virtual
> memor=:
> > >
> > > > I get a similar situation using Windows 2008 and Solr 3.6. Memory
> > > > using mmap=is never released. Even if I turn off traffic and commit
> > > > and do =
> > > manual
> > > > gc= If the size of the index is 3gb then memory used will be heap +
> > > > 3=b
> > > of
> > > > sha=ed used. If I use a 6gb index I get heap + 6gb.
> > >
> > > That is expected, but we are talking not about allocated physical
> > > memory, we are talking about allocated ADDRESS SPACE and you have 2^47
> > > of that on 64bit platforms. There is no physical memory wasted or
> > > allocated - please read the blog post a third, forth, fifth... or
> > > tenth time, until it is obvious. Yo= should also go back to school and
> > > take a course on system programming and operating system kernels.
> > > Every CS student gets that taught in his first year (at least in
> > > Germany).
> > >
> > > Java's GC has nothing to do with that - as long as the index is open,
> > > ADDRESS SPACE is assigned. We are talking not about memory nor Java
> > > heap space.
> > >
> > > > If I turn off
> > > > MMapDirectory=actory it goes back down. When is the MMap supposed to
> > > > release memory ? It o=ly does it on JVM restart now.
> > >
> > > Can you please stop spreading nonsense about MMapDirectory with no
> > > knowledge behind? http://www.linuxatemyram.com/ - Also applies to
> > > Windows.
> > >
> > > Uwe
> > >
> > > > Bill Bell
> > > > Sent from mobile
> > > >
> > > >
> > > > On Jul 22, 2012, at 6:21 AM, geetha anjali
> > > > <anjaliprabh...@gmail.com> wrote:=
> > > > > It happens in 3.6, for this reasons I thought of moving to
> solandra.
> > > > > If I do a commit, the all documents are persisted with out any
> > > > > issues= There is no issues  in terms of any functionality, but
> > > > > only this happens i= increase in physical RAM, goes higher and
> > > > > higher and sto= at maximum and i= never comes down.
> > > > >
> > > > > Thanks
> > > > >
> > > > > On Sun, Jul 22, 2012 at 3:38 AM, Lance Norskog <goks...@gmail.com>
> > > > wrote:
> > > > >
> > > > >> Interesting. Which version of Solr is this? What happens if you
> > > > >> do a commit?
> > > > >>
> > > > >> On Sat, Jul 21, 2012 at 8:01 AM, geetha anjali
> > > > <anjaliprabh...@gmail.com>=>> wrote:
> > > > >>> Hi uwe,
> > > > >>> Great to know. We have files indexing 10000/min. After 30 mins I
> > > > >>> se= all=>>> my physical memory say its 100 percentage
> > > > >>> used(windows). =n deep investigation found that mmap is not
> releasing
> > os files handle=.
> > > Do
> > > > you find this behaviour?
> > > > >>>
> > > > >>> Thanks
> > > > >>>
> > > > >>> On 20 Jul 2012 14:04, "Uwe Schindler" <u...@thetaphi.de> wrote:
> > > > >>>
> > > > >>> Hi Bill,
> > > > >>>
> > > > >>> MMapDirectory uses the file system cache of your operating
> > > > >>> system, which=>> has following consequences: In Linux, top &
> > > > >>> free should normally report only=>>> *few* free memory, because
> > > > >>> the O/S uses =ll memory not allocated by applications to cache
> > > > >>> disk I/O (and shows i= as allocated, so having 0%
> > > > >> free
> > > > >>> memory is just normal on Linux and also Windows). If you have
> > > > >>> other applications or Lucene/Solr itself that allocate lot's of
> > > > >>> heap spac= or
> > > > >>> malloc() a lot, then you are reducing free physical memory, so
> > > > >>> reducing
> > > > >> fs
> > > > >>> cache. This depends also on your swappiness parameter (if
> > > > >>> swappines= is higher, inactive processes are swapped out easier,
> > > > >>> default is 60= on
> > > > >> linux -
> > > > >>> freeing more space for FS cache - the backside is of course that
> > > > >>> maybe in-memory structures of Lucene and other applications get
> > > > >>> pag=s
> > > > out).
> > > > >>>
> > > > >>> You will only see no paging at all if all memory allocated all
> > > > >> applications
> > > > >>> + all mmapped files fit into memory. But paging in/out the
> > > > >>> + mmapped Lucen=
> > > > >>> index is muuuuuch cheaper than using SimpleFSDirectory or
> > > > >> NIOFSDirectory. If
> > > > >>> you use SimpleFS or NIO and your index is not in FS cache, it
> > > > >>> will also
> > > > >> read
> > > > >>> it from physical disk again, so where is the difference. Paging
> > > > >>> is
> > > > >> actually
> > > > >>> cheaper as no syscalls are involved.
> > > > >>>
> > > > >>> If you want as much as possible of your index in physical RAM,
> > > > >>> copy it t= /dev/null regularily and buy more RUM :-)
> > > > >>>
> > > > >>>
> > > > >>> -----
> > > > >>> Uwe Schindler
> > > > >>> H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de
> > > > >>> eMail: uwe@thetaphi...
> > > > >>>
> > > > >>>> From: Bill Bell [mailto:billnb...@gmail.com]
> > > > >>>> Sent: Friday, July 20, 2012 5:17 AM
> > > > >>>> Subject: Re: ...
> > > > >>>> s=op using it? The least used memory will be removed from the
> > > > >>>> OS automaticall=? Isee some paging. Wouldn't paging slow down
> > > > >>>> the
> > > > queryi=g?
> > > > >>>
> > > > >>>>
> > > > >>>> My index is 10gb and every 8 hours we get most of it in shared
> > > memory.
> > > > >> The
> > > > >>>> m=mory is 99 percent used, and that does not leave any room for
> > > > >>>> other=>>> apps. =
> > > > >>>
> > > > >>>> Other implications?
> > > > >>>>
> > > > >>>> Sent from my mobile device
> > > > >>>> 720-256-8076
> > > > >>>>
> > > > >>>> On Jul 19, 2012, at 9:49 A...
> > > > >>>> H=ap space or free system RAM:
> > > > >>>
> > > > >>>>>
> > > > >>>>>
> > > > >> http://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bi
> > > > >> t.h=
> > > > >> m
> > > > >>>>> l
> > > > >>>>>
> > > > >>>>> Uwe
> > > > >>>>> ...
> > > > >>>>>> use i= since you might run out of memory on large indexes
> righ=?
> > > > >>>
> > > > >>>>>>
> > > > >>>>>> Here is how I got iSimpleFSDirectoryFactory to work. Just set
> > > > >>>>>> - Dsolr.directoryFactor...
> > > > >>>>>> set it=all up with a helper in solrconfig.xml...
> > > > >>>
> > > > >>>>>>
> > > > >>>>>> if (Constants.WINDOWS) {
> > > > >>>>>> if (MMapDirectory.UNMAP_SUPPORTED && Constants.JRE_IS_64...
> > > > >>
> > > > >>
> > > > >>
> > > > >> --
> > > > >> Lance Norskog
> > > > >> goks...@gmail.com
> > > > >>
> > >
> > >
> > >
>
>

Reply via email to