我在做【文件搜】网站用到的:
高速版(Java+Lucene) http://wjsou.com:8080/
低速版(PHP+MySQL) http://wjsou.com
高速版:耗时 0.015s ,找到约 1000 个结果。
千万份数据全部存到内存里面。
模糊匹配搜索,输错了一两个字也没事。
lucene全文检索引擎,无需数据库。
问题1 数据库Table 'file' is marked as crashed and should be repaired
>>>数据库的问题,修复一下就可以了。用phpMyAdmin工具,找到这个表,点操作,点修复。
问题2 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet springmvc threw exception
java.lang.OutOfMemoryError: Java heap space
>>>在Eclipse里选:Window->Preference->Installed JREs->Edit(选中jre),
在Default VM Arguments里输入-Xms256m -Xmx1024m,表示最小内存256M,最大1G,然后运行就可以了。
>>> tomcat设置jvm参数
----------------------Linux下修改TomcatJVM内存大小----------------------
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Xms512m -Xmx512m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m"
cygwin=false
----------------------windows下修改Tomcat JVM内存大小----------------------
情况一:解压版本的Tomcat , 要通过startup.bat启动tomcat才能加载配置
要添加在tomcat 的bin 下catalina.bat 里
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%后面添加,红色的为新添加的.
set JAVA_OPTS=-Xms512m -Xmx512m -XX:ParallelGCThreads=8 -XX:PermSize=128m -XX:MaxPermSize=256m
我改的是:set JAVA_OPTS=-Xms64m -Xmx1024m -XX:ParallelGCThreads=20 -XX:PermSize=64m -XX:MaxPermSize=1024m
运行提示PermSize MaxPermSize 被忽略了。不管它了。
406万条数据,占了1G内存。
----------------------eclispe下修改Tomcat JVM内存大小----------------------
找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit
按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入如下值即可。
-Xms256m -Xmx256m
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配
参考:http://www.cnblogs.com/mingforyou/archive/2012/03/03/2378143.html
http://blog.chinaunix.net/uid-29632145-id-4697079.html