*"RC = 500 : Direct buffer memory"* only occured when Fuseki started with
"exec java -Xmx1200M -jar ...".

When I use *"exec java -Xmx2400M -jar ..."* even without *
-XX:MaxDirectMemorySize* or *jetty_config.xml*, the client shows 18 results
and stops (no exception occurs). The server gives no error.

Client output:
java -cp jena-fuseki-0.2.1-incubating-server.jar:. Query2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Server log:
...
12:24:48 INFO  Fuseki               :: [251] OK/select
12:24:48 INFO  Fuseki               :: [251] 200 OK
12:24:48 INFO  Fuseki               :: [252] GET
http://fuseki.mooo.com:8080/dbpedia-geo/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23lat%3E+%3Flat+.%0A++++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23long%3E+%3Flong%0A++%7D%0A
12:24:48 INFO  Fuseki               :: [252] Query = SELECT  * WHERE   { <
http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat .     <
http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
<http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long   }
12:24:48 INFO  Fuseki               :: [252] OK/select
12:24:48 INFO  Fuseki               :: [252] 200 OK



Regards,
Regis.


2012/4/13 Regis Pires Magalhães <regispires...@gmail.com>

> Andy,
> Thank you again!
>
> In my tests:
>
> 1 - Starting Fuseki with "exec java 
> *-XX:MaxDirectMemorySize=2147483648-Xmx4800M
> * -jar ..." shows only 18 results again and the client stops and doesn't
> show any result.
>
> Server log:
> ...
> 11:55:59 INFO  Fuseki               :: [251] Query = SELECT  * WHERE   { <
> http://dbpedia.org/resource/Penn_Hills_Township%2C_Allegheny_County%2C_Pennsylvania>
> <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat .     <
> http://dbpedia.org/resource/Penn_Hills_Township%2C_Allegheny_County%2C_Pennsylvania>
> <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long   }
> 11:55:59 INFO  Fuseki               :: [251] OK/select
> 11:55:59 INFO  Fuseki               :: [251] 200 OK
> 11:55:59 INFO  Fuseki               :: [252] GET
> http://fuseki.mooo.com:8080/dbpedia-geo/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23lat%3E+%3Flat+.%0A++++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FNorth_Versailles_Township%252C_Allegheny_County%252C_Pennsylvania%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23long%3E+%3Flong%0A++%7D%0A
> 11:55:59 INFO  Fuseki               :: [252] Query = SELECT  * WHERE   { <
> http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
> <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat .     <
> http://dbpedia.org/resource/North_Versailles_Township%2C_Allegheny_County%2C_Pennsylvania>
> <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long   }
> 11:55:59 INFO  Fuseki               :: [252] OK/select
> 11:55:59 INFO  Fuseki               :: [252] 200 OK
>
>
> 2 - Using *S**electChannelConnector* with the suggested configuration: it
> seems that the server answers the first request, but the client stops and
> doesn't show any result.
>
> Server log:
> ...
> 11:22:41 INFO  Server               :: Jetty server config file =
> jetty-config.xml
> 11:22:42 INFO  Server               :: Dataset path = /dblp
> 11:22:42 INFO  Server               :: Dataset path = /dailymed
> 11:22:42 INFO  Server               :: Dataset path = /diseasome
> 11:22:42 INFO  Server               :: Dataset path = /drugbank
> 11:22:42 INFO  Server               :: Dataset path = /sider
> 11:22:42 INFO  Server               :: Dataset path = /researchers
> 11:22:42 INFO  Server               :: Dataset path = /books
> 11:22:42 INFO  Server               :: Dataset path = /lgd-dbpedia
> 11:22:42 INFO  Server               :: Dataset path = /dbpedia-geo
>  11:22:42 INFO  Server               :: Fuseki 0.2.1-incubating-SNAPSHOT
> 11:22:42 INFO  Server               :: Jetty 7.x.y-SNAPSHOT
> 11:22:42 INFO  Server               :: Started 2012/04/13 11:22:42 BRT on
> port 8080
> 11:22:49 INFO  Fuseki               :: [1] GET
> http://fuseki.mooo.com:8080/lgd-dbpedia/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Fs+%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23sameAs%3E+%3Fgeo%0A++++FILTER+regex%28str%28%3Fgeo%29%2C+%22dbpedia%22%29%0A++%7D%0A
> 11:22:49 INFO  Fuseki               :: [1] Query = SELECT  * WHERE   { ?s <
> http://www.w3.org/2002/07/owl#sameAs> ?geo     FILTER regex(str(?geo),
> "dbpedia")   }
> 11:22:49 INFO  Fuseki               :: [1] OK/select
>
>
> *jetty_config.xml:*
> <?xml version="1.0"?>
> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
> http://www.eclipse.org/jetty/configure.dtd";>
>
> <!--
>  Reference: http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax
>  http://wiki.eclipse.org/Jetty/Reference/jetty.xml
> -->
>
> <Configure id="Fuseki" class="org.eclipse.jetty.server.Server">
>  <Call name="addConnector">
>    <Arg>
>      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
>        <Set name="port">8080</Set>
>        <Set name="maxIdleTime">0</Set>
>        <!-- All connectors -->
>        <Set name="requestHeaderSize">65536</Set>       <!-- 64*1024 -->
>        <Set name="requestBufferSize">5242880</Set>     <!-- 5*1024*1024 -->
>        <Set name="responseBufferSize">5242880</Set>    <!-- 5*1024*1024 -->
>      </New>
>    </Arg>
>  </Call>
> </Configure>
>
> 3 - Using *BlockingChannelConnector* with the suggested configuration:
>
> a. First when I tested with -Xmx1200M there was an OutOfMemory
> exception...
>
> 11:43:05 INFO  Fuseki               :: [166] Query = SELECT  * WHERE   { <
> http://dbpedia.org/resource/Takoma_Park%2C_Maryland> <
> http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat .     <
> http://dbpedia.org/resource/Takoma_Park%2C_Maryland> <
> http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long   }
> 11:43:05 INFO  Fuseki               :: [166] OK/select
> 11:43:06 INFO  Fuseki               :: [166] 200 OK
> 11:43:06 INFO  Fuseki               :: [167] GET
> http://fuseki.mooo.com:8080/dbpedia-geo/sparql?query=SELECT++*%0AWHERE%0A++%7B+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRockville%252C_Maryland%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23lat%3E+%3Flat+.%0A++++%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2FRockville%252C_Maryland%3E+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F01%2Fgeo%2Fwgs84_pos%23long%3E+%3Flong%0A++%7D%0A
> 11:43:06 INFO  Fuseki               :: [167] Query = SELECT  * WHERE   { <
> http://dbpedia.org/resource/Rockville%2C_Maryland> <
> http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat .     <
> http://dbpedia.org/resource/Rockville%2C_Maryland> <
> http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long   }
> 11:43:06 INFO  Fuseki               :: [167] OK/select
> 11:43:06 WARN  Fuseki               :: [167] RC = 500 : Java heap space
> Exception in thread "qtp547896362-12" java.lang.OutOfMemoryError: GC
> overhead limit exceeded
> Exception in thread "qtp547896362-125" java.lang.OutOfMemoryError: GC
> overhead limit exceeded
> Exception in thread "qtp547896362-23" java.lang.OutOfMemoryError: GC
> overhead limit exceeded
> Exception in thread "qtp547896362-64" java.lang.OutOfMemoryError: GC
> overhead limit exceeded
>
>
> b. When I use "exec java -Xmx2400M -jar ..."
>     The server gets 20 results. After that the client stops.
>
>
> *jetty_config.xml:*
> <?xml version="1.0"?>
>  <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "
> http://www.eclipse.org/jetty/configure.dtd";>
>
> <!--
>  Reference: http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax
>  http://wiki.eclipse.org/Jetty/Reference/jetty.xml
> -->
>
> <Configure id="Fuseki" class="org.eclipse.jetty.server.Server">
>  <Call name="addConnector">
>    <Arg>
>      <New class="org.eclipse.jetty.server.nio.BlockingChannelConnector">
> *       <Set name="useDirectBuffers">false</Set>*
>        <Set name="port">8080</Set>
>
>         <!-- All connectors -->
>        <Set name="requestHeaderSize">65536</Set>       <!-- 64*1024 -->
>        <Set name="requestBufferSize">5242880</Set>     <!-- 5*1024*1024 -->
>        <Set name="responseBufferSize">5242880</Set>    <!-- 5*1024*1024 -->
>      </New>
>    </Arg>
>  </Call>
> </Configure>
>
>
>
> Regards,
> Regis.
>
>
>
> On Fri, Apr 13, 2012 at 6:24 AM, Paolo Castagna <
> castagna.li...@googlemail.com> wrote:
>
>> Andy Seaborne wrote:
>> > When we have encountered this here, we set that 1G (default is 64K or
>> > something small) and had no problems.  (we=Epimoprhics, here=a
>> > production server for a customer).
>>
>> ...
>>
>> > "BlockingChannelConnector" does by default and is used by Fuseki by
>> > default. <Set name="useDirectBuffer">false</Set> turns use of direct
>> > memory off.
>> >
>> > Any differences in performance are not measurable except under high
>> load.
>>
>> ...
>>
>> This is useful to know, thanks for sharing Andy (and for the complete
>> jetty-config.xml example). Useful.
>>
>> Paolo
>>
>
>

Reply via email to