Resin服务器配置指南
resin虚拟内存设置
文章分类:Java编程
show grants for root@localhost;
说明RESIN_HOME - 表示resin的安装目录
-Xms512m - 表示初始占用内存512MB
-Xmx1024m - 表示最在可占用内存1024MB
Resin 3.0.x Linux下修改位置:RESIN_HOME\bin\httpd.sh 文件中找到args= 这行,修改成args="-J-server -Xms512m -Xmx1024m"
设置JAVA虚拟机的内存使用量。
Windows下
httpd.exe -Xms512m -Xmx1024m
Resin 3.1.x 同时适用于Linux和Windows
修改位置:RESIN_HOME\conf\resin.conf
找到如下内容
修改成如下:
3Jdk和Resin安装步骤
1. 下载jdk linux版本, j2sdk-1_4_2_10-linux-i586.bin。
2. 下载resin-2.1.17.tar.gz。或更好版本
3. 直接输入:j2sdk-1_4_2_10-linux-i586.bin就可以安装成功。本身它有安装脚本。
4. 修改用户根目录下配置文件。 (1)ls -a 查看文件
(2)vi .bash_profile 添加:export
JAVA_HOME=/home/usboss/j2sdk1.4.2_10/
Note:配置这个文件类似于windows的配置windows的环境变量。修改了这个文件一定要重新登陆。
5. tar -zxf resin-2.1.17.tar.gz 直接的解压就可以使用。
4文件Httpd.sh参数配置解释
1.文件位置:${resin30}/bin/httpd.sh
2.args='-J-server -Xms200m -Xmx1024m -Xloggc:./log/gc.log
-XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true' (1)J-server -Xms200m -Xmx1024m 其中,-Xms200m 表示启动时,初时内存大小,-Xmx1024m
最大内存占用大小。
(2)-XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域的大小
(3)-Djava.awt.headless=true 解决在linux/unix验证码图片不能显示的问题。
3.然后,启动时展示
java -server -Xms200m -Xmx1024m -Xloggc:./log/gc.log
-XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
-Xss1m -Dresin.home=/home/channel/appsvr/resin-3.0.22
-Dserver.root=/home/channel/appsvr/resin-3.0.22
-Djava.util.logging.manager=com.caucho.log.LogManagerImpl
-Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderI mpl com.caucho.server.resin.Resin -socketwait 35303 -stdout
/home/channel/appsvr/resin-3.0.22 /log/stdout.log -stderr
/home/channel/appsvr/resin-3.0.22/log/stderr.l
5查看日志的方法
1. 可以看logs目录下stdout.log的输出信息。也可以看log目录下的。命令是:
实时信息:tail –100f 日志文件名 100代表了显示100行数据
静态历史信息:tail –100日志文件名 100代表了显示100行数据
2. 在resin/logs下的stdout.log是存放这server实时输出的信息。
3. vi命令可以看日志,可以查找等更多的功能。
4. stderr.log表示错误信息的日志。
6常见问题和解答
6.1解决:内存、heap、验证码显示的集成配置配置方式?
1.文件位置:${resin30}/bin/httpd.sh
2.args='-J-server -Xms200m -Xmx1024m -Xloggc:./log/gc.log
-XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true' (1)J-server -Xms200m -Xmx1024m 其中,-Xms200m 表示启动时,初时内存大小,-Xmx1024m
最大内存占用大小。
(2)-XX:MaxNewSize=256m -XX:MaxPermSize=256m 表示:内存的永久保存区域的大小
(3)-Djava.awt.headless=true 解决在linux/unix验证码图片不能显示的问题。
3.然后,启动时展示
java -server -Xms200m -Xmx1024m -Xloggc:./log/gc.log
-XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
-Xss1m -Dresin.home=/home/channel/appsvr/resin-3.0.22
-Dserver.root=/home/channel/appsvr/resin-3.0.22
-Djava.util.logging.manager=com.caucho.log.LogManagerImpl
-Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderI mpl com.caucho.server.resin.Resin -socketwait 35303 -stdout
/home/channel/appsvr/resin-3.0.22 /log/stdout.log -stderr
/home/channel/appsvr/resin-3.0.22/log/stderr.l
6.2在linux/windows下,验证码图片不能正常显示?
答:修改位置:在resin3/bin/httpd.sh文件,在args位置,增加:
-Djava.awt.headless=true
6.3对于OutOfMemoryError: PermGen space,如何处理?
答:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta 的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile 的时候。
修改位置:在resin3/bin/httpd.sh文件,在args位置,增加:
-XX:MaxNewSize=256m -XX:MaxPermSize=256m
6.4如何对标准日志输出配置大小和天数进行配置?
详细参见:
https://www.doczj.com/doc/754102137.html,/resin-3.0/config/log.xtp#Log-Levels
在Resin.conf文件中查找
如果是标准的Resin3.0的默认配置文件,大概第9行左右。
修改为如下内容:
按日期生成日志
archive-format="%Y-%m-%d.stdout.log.gz" rollover-period="1W"/> level日志级别:off/severe/warning/info/config/fine/finer/finest/all path日志文件路径:log/stdout.log archive-format归档格式:如2007-5-10.stdout.log.gz rollover-period日志回滚方式:按天(15D)、按周(1W)、按月(1M)、按小时(1h)等。 按文件大小生成日志 timestamp="[%H:%M:%S.%s] " archive-format="%Y-%m-%d.stdout.log.gz" rollover-size="10mb"/> rollover-size每个日志文件的大小:byte(5000)、kb(128kb)、mb(10mb)其他参数同上。 按照USBOSS的日志输出方式,可能看文件大小比较合适,每个日志文件10M-20M 就差不多了。 6.4.1指定debug日志 A useful technique is to enable full debug logging to track down a problem: timestamp="[%H:%M:%S.%s]" rollover-period='1h' rollover-count='1'/> 6.4.2日志标准 6.5当出现内存耗没、或日志写的太快时,如果解决? 答:用top命令来查询一下全部进程的使用情况,发现有问题的进程,kill -9 processId。 6.6当out of memory时,出现死锁进程,如果解决? 答:首先用ps –ef|grep java查看进程命令,看系统内存使用情况。如果是存在死锁进程,可以通过kill -9 PID,来杀死它,然后重启。如果系统内存很小,可以对$RESION_HOME/bin/httpd.sh内的参数进行调整。 6.7当resin启动时,如何指定java的内存大小? 1.Window下内存设置: -J"-server -Xms500m -Xmx1000m” 2.Linux配置: resin3/bin/httpd.sh 中的args。 6.8Kill了指定的java进程后,resin它又自动的重启,怎么kill那? 答:在httpd.sh文件中,有一个自动重启的perl脚本。可以通过ps –ef|grep java,来找出谁在调用java进程,发现perl进程在调用java,使用 ps –ef|grep perl,查找出来,先kill掉perl进程。然后再kill java进程。 6.9查看resin是否是自动重启? 答: httpd.sh –h,中一个-no-auto-restart : disable automatic server restart,默认是自动重启的,可以指定这个启动参数,使得resin不自动重启。 ps –ef|grep perl,看看这个进程是否是在启动状态。是否是让应用是否重启,可以根据具体情况来设定。更多信息,可以看wrapper.pl文件,搜索 keepalive 或auto-restart关键字,看它的初始参数值。 6.10Resin不能启动,报java不能发现? 答:首先,检查java是否安装和是否在用户下的.bash_profile中进行了配置。 其次,如果安装和配置正确,再检查用户是否正确。如果用户是通过su to Change the effective user id and group id to that of USER. 例如:su –foo。这时执行shell命令:source或者. .bash_profile。 6.11如何查看resin的命令参数解释? 答:查看命令参数httpd.sh –h, man httpd.sh,vi http.sh, 6.12如何配置session的超时时间? using session-config and session-timeout to control the number of sessions 6.13Resin正常启动,DB中有用户,报用户不存在? 答:resin.conf中,一个conf只能配置一个 6.14程序的建立连接数多时,系统死锁? 答:原因是resin.conf中,最大连接数配置的太少。这是可以调节到一个比较大的值。缺省为128个连接。 default 128 6.15服务器上的resin启动不了? 答:首先要查看,log/ stderr.log,看看是什么原因。例如:resin-2.1.17用root用户启动过,那么就会在logs/access.log日志,当重新启动时,当向access.log文件中写东西时,将报错,因为是不同的用户建立的这个文件,需要首先删除这个文件。 7总结和展望 a)简单的总结前面知识 b)今后的提高部分 8参考资料 1.https://www.doczj.com/doc/754102137.html, 9术语和附录