问题:一次性从数据库查询出来的数据量太大(例如:100W条),tomcat容器就outMemery了,请教大神有什么好点子么?数据数据库tomcatoutMemery

解决方案 »

  1.   

    第一,可以尝试修改tomcat所固定占用的内存,即使100W数据也看具体数据所占的大小。
    第二,分次查,但是内存里面不要存那么多,该释放的释放,或者取出来的数据处理一下存储必要的数据之后就可以释放了。
      

  2.   

    就看楼主的需求,一次性读这么多数据是要干嘛,明显这么多数据处理的实时性不高。
    那么我就可以认为你是一个后台的作业需求,如果是这个前提,那么分两种。
    1,数据库层面,写过程处理你的业务,
    2,java层可以另外部署一个job应用,专门处理你这样的大作业,可以多分店内存。我们这边最大分了4G
      

  3.   

    领导说要我解决tomcat容器的数据一次性达到峰傎的情况。
    我也认为这样做是不可取的,我再去和领导商量商量。
      

  4.   

    弄个NB服务器 ,加大tomcat内存 呵呵
      

  5.   

    很简单,就是我取数据的时候要保证不要有outMemery。
      

  6.   

    这还真是个麻烦事。只能加大jvm内存
      

  7.   

    设置tomcat的内存  set JAVA_OPTS=-Xms128m -Xmx256m  
      

  8.   

    D:\tomcat1\bin\catalina.bat