计算机:
IBM
BC_8853
Intel(R) Xeon(R) CPU
5130 @ 2.00GHz
2.00 GHz
3.25 GB 的内存
CPU是四核的
我写的代码主要是操作数据库和导出成excel,测试发现导成excel时(用jxl导的)花费的时间很长,7k条数据花了6分钟(包括导出数据和打成zip包),目前eclipse.ini的配置为:
-clean
-showsplash
com.genuitec.myeclipse.product.ide
--launcher.XXMaxPermSize
256m
-vmargs
-Xms256m
-Xmx512m
-Duser.language=en
-XX:PermSize=128M
-XX:MaxPermSize=1024M
我会继续修改代码提高效率,但还有个问题想请教大家,我的代码是一个web工程的一部分,将来会被一起放到Tomcat容器中,要怎样配置Tomcat容器才能最大限度的发挥这台服务器的性能。谢谢!
问题补充
对于Tomcat(Win下一般内存分配JDK都有限制,一般是1024M,Unix或者64除外);
JVM添加参数:
-Xms1024m
-Xmx1048m
其他不用设置;
如果可能,可采用垂直集群(1台服务器,跑多个Tomcat实例);
为什么是在eclipse里弄?
另外 maxpermsize好象不需要1024M那么大吧,不过这个应该没什么影响。
maxpermsize一般有128m就远远足够了。
楼主的问题可能是eclipse已经占用了大部分内存了。
我的机器运行tomcat,最大分配128m,7000条数据,每行30个字段,用poi导出,excel的产生时间20秒左右,还是amd athlon 1.8g单核的机器。
我想说的是, LZ误解eclipse的内存配置了, 你在eclipse里运行, 不管是junit还是Main程序, 都启用的是独立的jvm. JUnit可以在运行的配置里设jvm 参数。
如果调整服务器,需要调整Tomcat启动对应JVM参数;
而你用得eclipse.ini是真对Eclipse的参数;
你把我弄糊涂了,那部署普通java工程时都是采用命令行带设置内存参数部署的?eclipse.ini中也能设置JVM参数,那这些参数是在什么情况下起作用的?
谢谢!
对于TOMCAT 之类的web容器, 你需要在启动脚本里设置。
eclipse.ini 是针对eclipse自己的设置的。 跟应用没有关系
对于eclipse 调试junit,Main代码, 你应该在对应的eclipse启动调试的地方设置----Run-->Run(Debug) Configurations...--->Arguments--->VM arguments 在这里面填写JVM的参数。
我这么说, 你应该明白了吧。