惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - JazzieZhang

[转贴] IP 欺骗问题整理 网络始终上不去 郁闷!MSN上不去 - JazzieZhang QC的数据库恢复 - JazzieZhang 感情生活20条准则【转】 苦苦等待终于有了回报! - JazzieZhang weblogic调优 - JazzieZhang 打错的电话! - JazzieZhang 又到一年抗洪时,你还记得他们吗? - JazzieZhang How to verify download of a file in Web scripts - JazzieZhang 老婆要知道,老公要明白 关于三十岁男人的私房话 - JazzieZhang DB2中几种遇到的SQL1032N出错的解决 转贴,5.30 童年的精彩(70年代~80年代初),以后的就不要看,会羡慕死你们的!^_^ 经典笑话(一) 天元吉弟5月26日 相关报告!^_^ 协议选择问题 使用lrs_save_param时,如何计算偏移量
weblogic常见问题
JazzieZhang · 2007-08-29 · via 博客园 - JazzieZhang

WebLogicServerHang产生的原因一般为:
系统内存不足
系统cpu忙
系统文件描述符数目不足
线程死锁
JVM有GC方面的bug
对于一些特定的情况可以使用truss命令跟踪系统调用来进行分析


系统内存不足
出现OutOfMemoryError或是观察到内存吃紧
操作系统本身的剩余内存
通过top或是vmstat观察
操作系统的swap区
Swap区太小可能导致编译jsp时报“Notenoughspace”的错
操作系统kernel参数中maxdsiz的大小
如果观测到数据库连接池里的连接泄漏,极可能是内存泄漏的先兆

系统内存不足
JVM的heap区大小
通过java命令行中的-Xms,-Xmx指定,建议最小值和最大值设成一样
可以通过weblogicconsole上server/monitor/performance来观察其使用情况
建议生产系统最少256M,一般情况下可以设置为系统剩余物理内存的80%
Heapsize太大在一些jvm上会有问题
对于sun和hp的jvm,permanentsize太小也会出OutOfMemoryError
在java命令行上加-XX:MaxPermSize=128m


系统内存不足
尽量减少内存消耗
Session中不要放大的数据,并尽量在不再需要的时候remove掉;如果可以调整sessiontimeout到较小的值
避免在J2EEserver端应用里边调用awt/swing作图
调整ejb的cache/pool设置

系统文件描述符数目不足
Log中有“toomanyopenfiles”的错误
表示达到了系统对一个进程能同时打开的文件数的限制
ulimit?a?H可以查看当前限制
ulimit?nnumber可以来更改当前环境的设置,建议至少设到4096
Solaris上可以通过/usr/proc/bin/pfilespid来查看指定进程的限制和当前使用的filedescriptor数目
Solaris上root用户可以通过/usr/proc/bin/plimit-nsoft,hardpid来动态更改进程的文件描述符的限制

线程死锁
对于原因不明的hang或是响应慢,最根本的方法就是获取threaddump信息
对于windows系统,在运行java的窗口按Ctrl+Break
对于unix系统,首先用ps找到运行weblogic的java进程的pid,然后执行kill?3pid
JVM将负责将所有java进程的状态、执行堆栈dump到其标准输出
为了方便获取threaddump信息,在weblogic启动的时候,最好将其标准输出重定向到一个文件
为了反映线程状态的动态变化,需要接连多次做threaddump,每次间隔10-20s


线程死锁
对于threaddump信息,主要关注的是线程的状态和其执行堆栈
线程的状态一般为三类
Runnable(R):当前可以运行的线程
Waitingonmonitor(CW):线程主动wait
Waitingformonitorentry(MW):线程等锁
一般关注的都是第一和第三种状态的线程
Cpu很忙则关注runnable的线程
Cpu闲则关注waitingformonitorentry的线程
一种典型的死锁是由于在server端应用(比如servlet)中请求由同一weblogic实例serve的资源
解决办法就是将该servlet放到另外的执行队列里去执行

JVM有GC方面的bug
打开jvm的gclog
在java命令行上加上-verbose:gc
GC的log输出在java进程的标准输出里
在hp的jvm上,可以通过在java命令行上加
-Xverbosegc:file=gcfilename来将gclog写到指定的文件
其输出类似:
[GC15639K->13700K(65280K),0.0068439secs]
调整jvm的内存设置和gc算法
升级jvm或是ospatch


mit?nnumber可以来更改当前环境的设置,建议至少设到4096
Solaris上可以通过/usr/proc/bin/pfilespid来查看指定进程的限制和当前使用的filedescriptor数目
Solaris上root用户可以通过/usr/proc/bin/plimit-nsoft,hardpid来动态更改进程的文件描述符的限制


线程死锁
对于原因不明的hang或是响应慢,最根本的方法就是获取threaddump信息
对于windows系统,在运行java的窗口按Ctrl+Break
对于unix系统,首先用ps找到运行weblogic的java进程的pid,然后执行kill?3pid
JVM将负责将所有java进程的