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

Reply via email to