Tomcat的JVM经常挂掉,根据hs_err_pid23224.log这种日志文件,也没能发现具体是什么原因导致的
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0x7) at pc=0x00007f1ae404fd50, pid=23224, tid=139753370498816
#
# JRE version: 7.0_17-b02
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
JVM致命错误日志(hs_err_pid.log)。
为了core dumping,执行命令ulimit -c unlimited。
参考博客园上的一篇文章
http://www.cnblogs.com/qq78292959/archive/2012/05/08/2490443.html
手动触发core:kill -6 pid(-6可以产生,默认的文件名是core.pid)。
core文件很大,有200多Mb。
分析对比最近3个月的“hs_err_pid23224.log”文件:
Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
# Problematic frame:
# v ~StubRoutines::jint_disjoint_arraycopy
# Problematic frame:
# C [libc.so.6+0x89f74] __tls_get_addr@@GLIBC_2.3+0x89f74
# Problematic frame:
# C [libc.so.6+0x89eb0] __tls_get_addr@@GLIBC_2.3+0x89eb0
# Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
# Problematic frame:
# C [libc.so.6+0x89f74] __tls_get_addr@@GLIBC_2.3+0x89f74
# Problematic frame:
# V [libjvm.so+0x66e040] _Copy_arrayof_conjoint_jlongs+0x30
# Problematic frame:
# C [libc.so.6+0x89e68] __tls_get_addr@@GLIBC_2.3+0x89e68
# Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
# Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
# Problematic frame:
# v ~StubRoutines::jbyte_disjoint_arraycopy
不清楚,是不是内存不足导致的,手动设置了Tomcat的JVM内存参数。
JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256m"
现在只能等待下一次crash,看看core文件。
鉴于Tomcat服务器现状,有必要监控内存情况,目前想到的3种方法:
1.jconsole监控远程JVM,需要配置。
2.web.xml配置Filter,监听内存情况。
3.Tomcat自带的manager项目,可以留着,说不定用得上。
下午又crash了一次,没有产生core文件,“ulimit ”命令没有生效。
向阿里云提交了工单,看看专家能不能给点意见。
Tomcat的JVM经常挂掉,根据hs_err_pid23224.log这种日志文件,也没能发现具体是什么原因导致的的更多相关文章
- /VAR/LOG/各个日志文件分析
/VAR/LOG/各个日志文件分析 author:headsen chen 2017-10-24 18:00:24 部分内容取自网上搜索,部分内容为自己整理的,特此声明. 1. /v ...
- Linux没有/var/log/messages日志文件
1.新安装的CentOS8没有/var/log/messages日志文件: 安装rsyslog: dnf install -y rsyslog 或 yum install -y rsys ...
- java.io.IOException: java.io.FileNotFoundException: /tmp/tomcat.2457258178644046891.8080/work/Tomcat/localhost/innovate-admin/C:/up/154884318438733213952/sys-error.log (没有那个文件或目录)
环境: Ubuntu18 vue+elementUI 实现文件的上传 报错信息: MultipartFile.transferTo(dest) 报 FileNotFoundException java ...
- Android ANR log trace日志文件分析
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_25804863/article/ ...
- [LeetCode] 937. Reorder Data in Log Files 日志文件的重新排序
You have an array of `logs`. Each log is a space delimited string of words. For each log, the first ...
- sql server无log ldf日志文件附件mdf数据库重新生成ldf日志文件
CREATE DATABASE TestDB ON ( FILENAME ='D:\TestDB.mdf' --路径 ) for ATTACH_REBUILD_LOG
- 成功配置TOMCAT的LOG4J日志系统,格式:HTML+每天以YYYY-MM-DD.LOG命名的日志文件
关于log4j.properties文件在web项目中放的位置,找过很多,最后实践结果是: 一.web项目 二.放在src的目录里面,然后项目生成后会自动在\WEB-INF\classes文件里有份l ...
- shell脚本切割tomcat的日志文件
鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...
- logback的使用和logback.xml详解,在Spring项目中使用log打印日志
logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分 ...
随机推荐
- [JWT] JWT Signature With RS256 - Learn The Advantages Compared to HS256
The advantage of RS256 over HS256 is RS256 no longer need to share the secret key between client and ...
- 2. Dubbo和Zookeeper的关系
转自:https://www.cnblogs.com/hirampeng/p/9540243.html Dubbo建议使用Zookeeper作为服务的注册中心. 1. Zookeeper的作用: ...
- React render return 空行问题
Uncaught Invariant Violation: App.render(): A valid React element (or null) must be returned. You ma ...
- 关于ES6(ES2015)的知识点详细总结
ECMAScript6 ECMAScript简称就是ES,你可以把它看成是一套标准,JavaScript就是实施了这套标准的一门语言,现在主流浏览器使用的是ECMAScript5. http://ba ...
- Django环境搭建(一)
搭建Django环境之前先搭建python运行环境 需要了解: 解释器(编译器): 计算机不能直接理解任何除机器语言外的其他语言,所以程序员必须要把自己写的语言翻译成机器语言,而将其他语言翻译成机器语 ...
- C#集合类:动态数组、队列、栈、哈希表、字典
1.动态数组:ArrayList 主要方法:Add.AddRange.RemoveAt.Remove 2.队列:Queue 主要方法:Enqueue入队列.Dequeue出队列.Peek返回Queue ...
- 希捷硬盘扩容软件-----DiscWizard
SeagateDiscWizard可为Seagate磁盘驱动器的使用提供便利.DiscWizard可帮助您迅速安装新的磁盘驱动器.并通过安装向导指导您在磁盘驱动器上完毕分区的创建和格式化. DiscW ...
- 关于android的2.2与4.4的文件读取的一点发现
好久没有写文章了,本来想写的东西,时间一长,就感觉不想写了.没什么用,到用时.又不知道去哪找了或怎么解决. 有一句话说的好啊,好记性不如烂笔头. 我要做到善于总结.及时整理,额............ ...
- Openstack nova(二)——架构(一)
架构源自需求 需求分析 软件架构大部分都来自于需求.能够说.有什么样的需求,就会有什么样的架构, 尽管不同一时候期,不同的人来实现,可能不全然一样.可是整体来说, 架构不会相差太远. 如今假设假设须要 ...
- Java反射学习总结一(基础篇)
Class类是Reflection API中核心的类,他位于Java.lang.Class 列出一些常用的方法. - getName() : 获得类的完整名字 - getFields() : 获得类的 ...