tomcat《三》

1.cpu突增的情况
线程很多
a.业务代码是否合理,是否有大量创建线程的动作,上线纹切换频繁
b.gc是否频繁
c.线上使用jconsole或者jvmvisual,或者jstack  pid查看具体哪里内存较多,调用线程比较大

2.连接拒绝的情况
a.服务器是不是挂了
b.应用端口已经被占用
c.SocketException:Too many open files  句柄文件不够用了,关闭一下无用的句柄文件,增加  unlimit -你1000


3.内存溢出,
使用优化虚拟机的方案即可,
jps查看那个应用占用内存最多,
定位到那个或者那些线程调用的方法有问题,
业务代码有没有递归或者死循环什么的,或者增加内存

 

思考类加载器的隔离与共享?
双亲委派模型:解决jvm中如果存在两个同样的全路径类怎么办?
tomcat不能完全打破这种机制,从而自定义了类加载器。
Catalin ClassLoader:tomcat类和web应用
Shared ClassLoader:共享
WebApp ClassLoader:有多个相同的全路径类,不仅要做隔离还要有多个(在web之间)

 

posted @ 2022-03-08 18:34  余生请多指教ANT  阅读(16)  评论(0编辑  收藏  举报