How to solve java.lang.OutOfMemoryError: Java heap space error


I am working in real time project.

Working: I am getting data from twitter and moving the output to cassandra database and then using Testrestfull webservice i am getting the output in json format. And then finally outputs are displayed in wep page. i am using glass fish server to connect web service and web page. it is an real time project so i am refreshing my page in every 5 second.

First few seconds i am not getting any error it works fine after 5 to 10 minutes i am getting this error in glass fish server.

Error: WARNING: StandardWrapperValve[genric.ApplicationConfig]: Servlet.service() for servlet genric.ApplicationConfig threw exception java.lang.OutOfMemoryError: Java heap space

I dont know why i am getting this error and how to solve this. Can any one help me.

This is my webservice code:

public String gettweets(String st)
 String query ="select * from tweet_count where createdtime='"+st+"' allow filtering;";
 ResultSet result = session.execute(query);
 String text = "[";
 for(Row r : result){


    return text;

This is my web page code:

<!DOCTYPE html>
<html xmlns="">
<body onload="load();grid();marqueeload();" style="background-color:white">
<pre style="height:25px;background-color:black;">
<div id = "title" style = "text-align:center;font-size:20px;width:100%;"><span>REAL TIME TWITTER TRENDS</span></div>
<tr><td><lable>Select Date<lable></td><td>  :  </td><td><input id="datepicker" type="text" /></td></tr></table>
<div style = "width:100%">
<div id="container2" style = "width:670px;height:300px;float:left;background-color:white;border: 1px solid green;">
<div style = "text-align:center;font-size:20px;"><span1>CHART VIEW<span1></div>
<div id="container1"></div>
<div id="container3" style = "width:670px;overflow-y:auto;height:300px;float:right;background-color:white;border: 1px solid green;"> 
<div style = "text-align:center;font-size:20px;"><span1>GRID VIEW<span1></div>                                  
<div id="Grid"></div>
<div style = "width:100%;border: 1px solid green;height:300px;float:left;background-color:white;">
<div style = "text-align:center;font-size:20px;"><span1>Trending tweets<span1></div>
<marquee id = "marqueeid" direction="up" height="200" scrollAmount=2 scrollDelay=130 class="sidelink" onMouseDown="this.stop()" onMouseOver="this.stop()" onMouseMove="this.stop()" onMouseOut="this.start()" vspace="10" >
<script type="text/javascript" language="javascript">

function marqueeload()

var str;

$.get("http://localhost:8080/WebApplication1/webresources/generic", function(str)
str=str.slice(12, str.length-14);
var div=document.getElementById('marqueeid');

$(function () {

            select: "onSelected"
 $("#datepicker").ejDatePicker({ enabled: true });
 function onSelected(args) {
       var str = args.value;
       var newstr = str.split("/",3);
       if(newstr[0].length == 1){
        newstr[0] = '0'+newstr[0];
       if(newstr[1].length == 1){
        newstr[1] = '0'+newstr[1];
       var dat = newstr[2]+'-'+newstr[0]+'-'+newstr[1];
       window.datetweet = dat;
function load() {

var str;    
$.get("http://localhost:8080/WebApplication1/webresources/time/"+window.datetweet,      function(str)

str=str.slice(12, str.length-14);
var data=JSON.parse(str);

                            title: { text: 'Tagname' },
                            labelRotation: 45


                           range: { min: 0, max: 1000, interval: 100 },
                           title: { text: 'Count' }

                        commonSeriesOptions: {
                            type: 'column', animation: true,
                            tooltipFormat: "#point.x# : #point.y#"

                        series: [
                                points: data,


                                                    showTooltip: true,

                        size: { height: 300 },
                        legend: { visible: false, position: 'top' }




    dataSource: [],
                     allowPaging: true,
                     allowSorting: true,

                     columns: [
                             { field: "x", headerText: "Trend Name", textAlign: ej.textAlign.Right, width: 10 },
                             { field: "y", headerText: "Count", textAlign: ej.textAlign.Right, width: 10 }

 function grid()
    var str;

    var url="http://localhost:8080/WebApplication1/webresources/time/"+window.datetweet;

    $.get(url, function(str)
        str=str.slice(12, str.length-14);
        var obj=JSON.parse(str);
        var instance = $("#Grid").ejGrid("instance");
        instance._dataManager = new ej.DataManager(obj);
        $("#Grid").ejGrid("model.dataSource", instance._dataManager);



window.setInterval(function() { load(); grid(); marqueeload(); }, 10000);





An OOM or OOME (OutOfMemoryError) simply means that the JVM ran out of memory. When this occurs, you basically have 2 choices:

  1. Allow the JVM to use more memory using the -Xmx VM argument. For instance, to allow the JVM to use 1 GB (1024 MB) of memory:
  2. Improve/Fix the application so that it uses less memory.

For moer info please go through this link