Tomcat
乾研浅语
这个作者很懒,什么都没留下…
展开
-
Tomcat heapdump文件配置
系统有时会遇到OutOfMemoryError,Java堆溢出了。我们需要找到造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收;2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检查代码是否存在对象生命周期太长、持有状态时间过长的情况。想在泄漏未发生前,...转载 2019-06-27 08:43:34 · 285 阅读 · 0 评论 -
Tomcat 运行过程中出现 Too manay open files 异常分析
查看采集数据的tomcat日志,习惯性的先翻到日志的最后去查看有没有异常的打印,果然发现了好几种异常信息,但是最多还是这个: “Too manay open files” 问题很明显啊,文件描述符超出限制导致无法打开文件或创建网络连接,这个问题又会导致一些其它问题的产生,肯定是ulimit没有优化,于是检查ulimit的设置;open files竟然是65535,已经做过了优化...转载 2018-08-30 09:44:16 · 1162 阅读 · 0 评论 -
java.net.SocketException: Too many open files
原因: 操作系统的中打开文件的最大句柄数受限所致,常常发生在很多个并发用户访问服务器的时候。因为为了执行每个用户的应用服务器都要加载很多文件(new 一个socket 就需要一个文件句柄),这就会导致打开文件的句柄的缺乏。解决方式:a) 尽量把类打成 jar 包,因为一个 jar 包只消耗一个文件句柄,如果不打包,一个类就消耗一个文件句柄。b) java 的 GC 不能关闭网络连接打开...转载 2018-08-30 10:03:33 · 14183 阅读 · 0 评论 -
内存溢出与内存泄漏
在Java开发工作中,考验一个程序的持续运行及高效运行,往往都会接触到内存溢出和内存泄漏问题,今天我们就来谈谈两者的发生原因及如何避免。1.内存溢出:1.1产生原因比如你创建一个对象时只申请了1K的内存空间,但是创建后用户每个属性都设置的超大,远超过1K的空间,那么超过1K的数据就没地方存储,导致内存溢出。java.lang.OutOfMemoryError,是指程序在申请内存时,没有...原创 2019-08-04 19:03:52 · 132 阅读 · 0 评论