Hi Daniel, Thanks, I have been able to recreate and reported to development to fix:
VOS user report memory leak loading there datasets multiple time with the TTLP_MT function , which I have been able to recreate as follows, demonstrating a consistent increase of about 100MB in the memory being used by Virtuoso: 1. The Datasets were downloaded from: ftp://ftp.nlm.nih.gov/online/mesh/void_0.9.ttl ftp://ftp.nlm.nih.gov/online/mesh/vocabulary_0.9.ttl ftp://ftp.nlm.nih.gov/online/mesh/mesh.nt 2. Load into Virtuoso repeating the load of the mesh.nt dataset multiple times: SQL> DB.DBA.TTLP_MT (file_to_string_output ('void_0.9.ttl'), '', 'http://id.nlm.nih.gov/mesh/void'); Done. -- 13 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('vocabulary_0.9.ttl'), '', 'http://id.nlm.nih.gov/mesh/vocab'); Done. -- 18 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 78536 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 75631 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74642 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74600 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74507 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74902 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74245 msec. SQL> DB.DBA.TTLP_MT (file_to_string_output ('mesh.nt'), '', 'http://id.nlm.nih.gov/mesh'); Done. -- 74719 msec. SQL> SPARQL SELECT ?graph (count(?s) as ?count) WHERE { GRAPH ?graph { ?s ?p ?o } } GROUP BY ?graph ORDER BY DESC(?count); graph count LONG VARCHAR LONG VARCHAR _______________________________________________________________________________ http://id.nlm.nih.gov/mesh 11920162 http://mor.nlm.nih.gov/mesh2014-v1 26664 http://localhost:8890/DAV/ 2994 http://www.openlinksw.com/schemas/virtrdf# 2515 http://id.nlm.nih.gov/mesh/vocab 259 http://www.w3.org/2002/07/owl# 167 http://id.nlm.nih.gov/mesh/void 34 http://localhost:8890/sparql 14 http://www.w3.org/ns/ldp# 3 9 Rows. -- 857 msec. SQL> checkpoint; Done. -- 4613 msec. SQL> SQL> status(''); REPORT VARCHAR _______________________________________________________________________________ OpenLink Virtuoso Server Version 07.20.3214-pthreads for Linux as of Aug 19 2015 Started on: 2015-08-21 11:17 GMT+2 3. After each load of the mesh.nt dataset monitor the memory consumption of Virtuoso, I used the method detailed at, http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtMonitorMemoryConsumption , where it is seen the memory consumption continually increases (even after checkpoint is run): [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:25 VmSize: 19514412kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:28 VmSize: 19645484kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:30 VmSize: 19711020kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:31 VmSize: 19842092kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:33 VmSize: 19907628kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T12:35 VmSize: 20038700kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T13:11 VmSize: 20038700kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T13:18 VmSize: 20169772kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T13:33 VmSize: 20305524kB 18714 [root@masala nih]# sh memcheck-virtuoso.sh 2015-08-21T13:34 VmSize: 20305524kB 18714 Note the datasets and test case it setup on masala:/2d2/nih Best Regards Hugh Williams Professional Services OpenLink Software, Inc. // http://www.openlinksw.com/ Weblog -- http://www.openlinksw.com/blogs/ LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 19 Aug 2015, at 15:07, Davis, Daniel (NIH/NLM) [C] <daniel.da...@nih.gov> > wrote: > > Hugh, > > Thanks for trying to reproduce it. You can download the void file through > ftp: > ftp://ftp.nlm.nih.gov/online/mesh/void_0.9.ttl > <ftp://ftp.nlm.nih.gov/online/mesh/void_0.9.ttl> > and also: > ftp://ftp.nlm.nih.gov/online/mesh/vocabulary_0.9.ttl > <ftp://ftp.nlm.nih.gov/online/mesh/vocabulary_0.9.ttl> > > I imagine you got the vocabulary file through the site itself, since URLs > likehttp://id.nlm.nih.gov/mesh/vocab#Descriptor > <http://id.nlm.nih.gov/mesh/vocab#Descriptor> redirect to it. > > From: Hugh Williams [mailto:hwilli...@openlinksw.com] > Sent: Wednesday, August 19, 2015 9:57 AM > To: Davis, Daniel (NIH/NLM) [C] <daniel.da...@nih.gov> > Cc: virtuoso-users@lists.sourceforge.net > Subject: Re: [Virtuoso-users] Memory leaks with virtuoso 7.2.0 > > Hi Daniel, > > I have downloaded “mesh.nt” and can access the vocab link but the void one is > giving a 404 error , thus can you check it is correct please … > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > <http://www.openlinksw.com/> > Weblog -- http://www.openlinksw.com/blogs/ > <http://www.openlinksw.com/blogs/> > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > <http://www.linkedin.com/company/openlink-software/> > Twitter -- http://twitter.com/OpenLink <http://twitter.com/OpenLink> > Google+ -- http://plus.google.com/100570109519069333827/ > <http://plus.google.com/100570109519069333827/> > Facebook -- http://www.facebook.com/OpenLinkSoftware > <http://www.facebook.com/OpenLinkSoftware> > Universal Data Access, Integration, and Management Technology Providers > > On 17 Aug 2015, at 15:19, Davis, Daniel (NIH/NLM) [C] <daniel.da...@nih.gov > <mailto:daniel.da...@nih.gov>> wrote: > > Hugh Williams wrote: > > Why were the 7.2.1 & 7.2.0 builds configured with different options, as > > they not both being performed on the same OS, in which case I would expect > > the configure options to the same ? > > I tried the same configure options as well, and then I tried different > options because I was grasping at straws. Here is a graph showing that > 6.1.8 does not have the problem, that the changes to configure options > doesn’t matter for this issue. > > <image003.png> > > The basics for reproducing the problem are as follows: > · Download ftp://ftp.nlm.nih.gov/online/mesh/mesh.nt > <ftp://ftp.nlm.nih.gov/online/mesh/mesh.nt> and the vocabulary and void files > from that location. > · Load the vocabulary-0.9.ttl to graph > http://id.nlm.nih.gov/mesh/vocab <http://id.nlm.nih.gov/mesh/vocab> > · Load the void-0.9.ttl to graph http://id.nlm.nih.gov/mesh/void > <http://id.nlm.nih.gov/mesh/void> > · Load the mesh.nt file to graph http://id.nlm.nih.gov/mesh > <http://id.nlm.nih.gov/mesh> again and again (I used 15 seconds delay) with > DB.DBA.ttlp(). > > From: Hugh Williams [mailto:hwilli...@openlinksw.com > <mailto:hwilli...@openlinksw.com>] > Sent: Sunday, August 16, 2015 8:52 PM > To: Davis, Daniel (NIH/NLM) [C] <daniel.da...@nih.gov > <mailto:daniel.da...@nih.gov>> > Cc: virtuoso-users@lists.sourceforge.net > <mailto:virtuoso-users@lists.sourceforge.net> > Subject: Re: [Virtuoso-users] Memory leaks with virtuoso 7.2.0 > > Hi Daniel, > > Why were the 7.2.1 & 7.2.0 builds configured with different options, as they > not both being performed on the same OS, in which case I would expect the > configure options to the same ? > > Best Regards > Hugh Williams > Professional Services > OpenLink Software, Inc. // http://www.openlinksw.com/ > <http://www.openlinksw.com/> > Weblog -- http://www.openlinksw.com/blogs/ > <http://www.openlinksw.com/blogs/> > LinkedIn -- http://www.linkedin.com/company/openlink-software/ > <http://www.linkedin.com/company/openlink-software/> > Twitter -- http://twitter.com/OpenLink <http://twitter.com/OpenLink> > Google+ -- http://plus.google.com/100570109519069333827/ > <http://plus.google.com/100570109519069333827/> > Facebook -- http://www.facebook.com/OpenLinkSoftware > <http://www.facebook.com/OpenLinkSoftware> > Universal Data Access, Integration, and Management Technology Providers > > On 13 Aug 2015, at 20:39, Davis, Daniel (NIH/NLM) [C] <daniel.da...@nih.gov > <mailto:daniel.da...@nih.gov>> wrote: > > Hugh Williams wrote: > > > Also, note the following 2 parameters: ThreadCleanupInterval, > ResourcesCleanupInterval which can both be set to 1 in order to reduce memory > leaking: > > > http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#ex_threadcleanupinterval > > <http://docs.openlinksw.com/virtuoso/databaseadmsrv.html#ex_threadcleanupinterval> > > although as this was not apparently occurring with 7.2.0 it may not help, > but worth trying ... > > It does occur with 7.2.0 - I'd vainly hoped 7.2.1 would fix it. The XSLT > process produces the file ftp://ftp.nlm.nih.gov/online/mesh/mesh.nt > <ftp://ftp.nlm.nih.gov/online/mesh/mesh.nt>, which contains 11,917,672 > triples. > I'm also using the ontology > ftp://ftp.nlm.nih.gov/online/mesh/vocabulary_0.9.ttl > <ftp://ftp.nlm.nih.gov/online/mesh/vocabulary_0.9.ttl> and the void file > ftp://ftp.nlm.nih.gov/online/mesh/void_0.9.ttl > <ftp://ftp.nlm.nih.gov/online/mesh/void_0.9.ttl>. > > I cannot actually say it is a "memory leak" because I haven't pulled out > those tools yet - VmRSS seems to grow linearly over time. > VmSize does the same, only the sloop is not as steep. > > I've built Virtuoso 7.2.1 on CentOS 6.6 as follows: > ./configure --prefix=<whatever> --with-readline > > Previously, with 7.2.0, my build was: > export CFLAGS="-O2 -m64" > ./configure --prefix=<whatever> --with-readline --with-iodbc=/usr > --without-internal-zlib --enable-shared --disable-static > > I've also configured it with ThreadCleanupInterval = 1 and > ResourcesCleanupInterval = 1. > > The reload I'm testing runs the following commands from an isql command-line: > > log_enable(2,1); > sparql clear graph <http://id.nlm.nih.gov/mesh > <http://id.nlm.nih.gov/mesh>>; > sparql clear graph <http://id.nlm.nih.gov/mesh/vocab > <http://id.nlm.nih.gov/mesh/vocab>>; > sparql clear graph <http://id.nlm.nih.gov/mesh/void > <http://id.nlm.nih.gov/mesh/void>>; > DB.DBA.ttlp(file_to_string_output('path-to-files/mesh.nt'), '', > 'http://id.nlm.nih.gov/mesh' <http://id.nlm.nih.gov/mesh'>, 0); > > DB.DBA.ttlp(file_to_string_output('path-to-files/vocabulary_0.9.ttl'), '', > 'http://id.nlm.nih.gov/mesh/vocab' <http://id.nlm.nih.gov/mesh/vocab'>, 0); > rdfs_rule_set('http://id.nlm.nih.gov/mesh/vocab' > <http://id.nlm.nih.gov/mesh/vocab'>, 'http://id.nlm.nih.gov/mesh/vocab' > <http://id.nlm.nih.gov/mesh/vocab'>); > DB.DBA.ttlp(file_to_string_output('path-to-files/void_0.9.ttl'), > '', 'http://id.nlm.nih.gov/mesh/void' <http://id.nlm.nih.gov/mesh/void'>, 0); > CHECKPOINT; > > I'm retrying with a shorter script, which only loads 100,000 triples: > > log_enable(2,1); > sparql clear graph <http://id.nlm.nih.gov/meshtest > <http://id.nlm.nih.gov/meshtest>>; > DB.DBA.ttlp(file_to_string_output('path-to-files/small-mesh.nt', > '', 'http://id.nlm.nih.gov/meshtest' <http://id.nlm.nih.gov/meshtest'>, 0); > > If that proves stable, I'll do the following: > - stop clearing and reloading the vocabulary and void graphs and redefining > the ruleset > - let you guys know it worked. > > If that is not stable, I'll do one or several of the following: > - try virtuoso-opensource-6 > - open/comment on an issue on > github.com/openlinksw/virtuoso-opensource/issues > <http://github.com/openlinksw/virtuoso-opensource/issues> > - install valgrind and valgrind-devel and build with malloc debug > - evaluate switching to the directory scan option. > > Dan Davis, Systems/Applications Architect (Contractor), > Office of Computer and Communications Systems, > National Library of Medicine, NIH > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Virtuoso-users mailing list > Virtuoso-users@lists.sourceforge.net > <mailto:Virtuoso-users@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > <https://lists.sourceforge.net/lists/listinfo/virtuoso-users> > > ------------------------------------------------------------------------------ > _______________________________________________ > Virtuoso-users mailing list > Virtuoso-users@lists.sourceforge.net > <mailto:Virtuoso-users@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > <https://lists.sourceforge.net/lists/listinfo/virtuoso-users>
------------------------------------------------------------------------------
_______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users