On Tue, 2002-11-26 at 13:14, Joost Diepenmaat wrote:
> Attached is a JSP page that demonstrates the problem.

Oops :-)

Bij deze.

Joost.

<%@page import="org.mmbase.bridge.*"%>
<%!
    static Cloud cloud;
%>
<%
    CloudContext cloudContext = ContextProvider.getCloudContext("local");
    if (cloud == null) {
        cloud = cloudContext.getCloud("mmbase");
    }
    Runtime rt = Runtime.getRuntime();
    if (request.getParameter("gc") != null) {
        rt.gc();
    }
    if (request.getParameter("times") != null) {
        int times = Integer.parseInt(request.getParameter("times"));
        for (int i = 0; i < times; i++) {

            // replace "profile" with some node type you don't have
            // too many of

            
cloud.getList(null,"profile","profile.name,profile.number",null,null,null,"both",true);
        }
    }
%>
        <h2>memory overview</h2>
        <dl>
            <dt>Free memory on heap</dt>
            <dd><%= n(rt.freeMemory()) %></dd>
            <dt>Total memory on heap</dt>
            <dd><%= n(rt.totalMemory()) %></dd>
        </dl>
        <p>
            <a href="mem-demo.jsp?gc=1">Run garbage collector</a>
        </p>
    <p>
         <form action="mem-demo.jsp" method="POST">
        Run cloud.getList()
       <select name="times">
            <option value="10">10</option>
            <option value="100">100</option>
            <option value="1000">1000</option>
            <option value="10000">10000</option>
            <option value="100000">100000</option>
            <option value="1000000">1000000</option>
        </select>
        times.
        <input type="submit" value="Go crash me!">
        </form>
    </p>

    </body>
</html>
<%!
    String n (long n) {
        if (n >= 1024L * 1024L * 1024L) {
            return (n / (1024L * 1024L * 1024L)) + "G";
        } else if (n >= 1024L * 1024L) {
            return (n / (1024L * 1024L)) + "M";
        } else if (n >= 1024L) {
            return (n / 1024L) + "K";
        }
        return n + "";
    }
%>

Reply via email to