当前位置: 首页 > news >正文

建网站市场哪个公司的网站制作

建网站市场,哪个公司的网站制作,企业展厅设计施工一体化,律所网站建设要求书当jvm出现致命错误时#xff0c;会生成一个错误文件 hs_err_pid.log#xff0c;其中包括了导致jvm crash的重要信息#xff0c;可以通过分析该文件定位到导致crash的根源#xff0c;从而改善以保证系统稳定。当出现crash时#xff0c;该文件默认会生成到工作目录下#x…当jvm出现致命错误时会生成一个错误文件 hs_err_pid.log其中包括了导致jvm crash的重要信息可以通过分析该文件定位到导致crash的根源从而改善以保证系统稳定。当出现crash时该文件默认会生成到工作目录下然而可以通过jvm参数指定生成路径(JDK6中引入)-XX:ErrorFile./hs_err_pid.log该文件包含如下几类关键信息日志头文件导致crash的线程信息所有线程信息安全点和锁信息堆信息本地代码缓存编译事件gc相关记录jvm内存映射jvm启动参数服务器信息下面用一个crash demo文件逐步解读这些信息以便大家以后碰到crash时方便分析。日志头文件日志头文件包含概要信息简述了导致crash的原因。而导致crash的原因很多常见的原因有jvm自身的bug应用程序错误jvm参数配置不当服务器资源不足jni调用错误等。现在参考下如下描述## A fatal error has been detected by the Java Runtime Environment:## SIGSEGV (0xb) at pc0x00007fb8b18fdc6c, pid191899, tid140417770411776## JRE version: Java(TM) SE Runtime Environment (7.0_55-b13) (build 1.7.0_55-b13)# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.55-b03 mixed mode linux-amd64 compressed oops)# Problematic frame:# J org.apache.http.impl.cookie.BestMatchSpec.formatCookies(Ljava/util/List;)Ljava/util/List;## 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#这里一个重要信息是“SIGSEGV(0xb)”表示jvm crash时正在执行jni代码而不是在执行java或者jvm的代码如果没有在应用程序里手动调用jni代码那么很可能是JIT动态编译时导致的该错误。其中SIGSEGV是信号名称0xb是信号码pc0x00007fb8b18fdc6c指的是程序计数器的值pid191899是进程号tid140417770411776是线程号。PS除了“SIGSEGV(0xb)”以外常见的描述还有“EXCEPTION_ACCESS_VIOLATION”该描述表示jvm crash时正在执行jvm自身的代码这往往是因为jvm的bug导致的crash另一种常见的描述是“EXCEPTION_STACK_OVERFLOW”该描述表示这是个栈溢出导致的错误这往往是应用程序中存在深层递归导致的。还有一个重要信息是# Problematic frame:# J org.apache.http.impl.cookie.BestMatchSpec.formatCookies(Ljava/util/List;)Ljava/util/List;这表示出现crash时jvm正在执行的代码这里的“J”表示正在执行java代码后面的表示执行的方法栈。除了“J”外还有可能是“C”、“j”、“V”、“v”它们分别表示C: Native C framej: Interpreted Java frameV: VMframev: VMgenerated stub frameJ: Other frame types, including compiled Java frames加上前面对SIGSEGV(0xb)”的分析现在可以断定是JIT动态编译导致的该错误。查阅资料发现此异常是由于jdk JIT compiler optimization 导致bug id 8021898官网描述如下The JIT compiler optimization leads to a SIGSEGV or an NullPointerException at a place it must not happen.jdk1.7.0_25到1.7.0_55这几个版本都存在此bug1.7.0_60后修复。可通过升级jdk解决此异常可参考 http://bugs.java.com/view_bug.do?bug_id8021898。到这里该问题已经分析出原因了但是咱们可以再深入一步分析下其它信息。导致crash的线程信息文件下面是导致crash的线程信息和该线程栈信息描述信息如下Current thread (0x00007fb7b4014800): JavaThread catalina-exec-251 daemon [_thread_in_Java, id205044, stack(0x00007fb58f435000,0x00007fb58f536000)]siginfo:si_signoSIGSEGV: si_errno0, si_code1 (SEGV_MAPERR), si_addr0x0000003f96dc9c6c以上表示导致出错的线程是0x00007fb7b4014800(指针)线程类型是JavaThreadJavaThread表示执行的是java线程关于该线程其它类型还可能是VMThreadjvm的内部线程CompilerThread用来调用JITing实时编译装卸class 。 通常jvm会启动多个线程来处理这部分工作线程名称后面的数字也会累加例如CompilerThread1GCTaskThread执行gc的线程WatcherThreadjvm周期性任务调度的线程是一个单例对象。 该线程在JVM内使用得比较频繁比如定期的内存监控、JVM运行状况监控还有我们经常需要去执行一些jstat 这类命令查看gc的情况ConcurrentMarkSweepThreadjvm在进行CMS GC的时候会创建一个该线程去进行GC该线程被创建的同时会创建一个SurrogateLockerThread(简称SLT)线程并且启动它SLT启动之后处于等待阶段。CMST开始GC时会发一个消息给SLT让它去获取Java层Reference对象的全局锁Lock后面的”catalina-exec-251″表示线程名带有catalina前缀的线程一般是tomcat启动的线程“daemon”表示该线程为守护线程再后面的“[_thread_in_Java”表示线程正在执行解释或者编译后的Java代码关于该描述其它类型还可能是_thread_in_native线程当前状态_thread_uninitialized线程还没有创建它只在内存原因崩溃的时候才出现_thread_new线程已经被创建但是还没有启动_thread_in_native线程正在执行本地代码一般这种情况很可能是本地代码有问题_thread_in_vm线程正在执行虚拟机代码_thread_in_Java线程正在执行解释或者编译后的Java代码_thread_blocked线程处于阻塞状态…_trans以_trans结尾线程正处于要切换到其它状态的中间状态最后的“id205044”表示线程IDstack(0x00007fb58f435000,0x00007fb58f536000)表示栈区间。“siginfo:si_signoSIGSEGV: si_errno0, si_code1 (SEGV_MAPERR), si_addr0x0000003f96dc9c6c”这部分是导致虚拟机终止的非预期的信号信息其中si_errno和si_code是Linux下用来鉴别异常的Windows下是一个ExceptionCode。所有线程信息再下面是线程信息Java Threads: ( current thread )0x00007fb798015800 JavaThread catalina-exec-280 daemon [_thread_blocked, id206093, stack(0x00007fb58d718000,0x00007fb58d819000)]0x00007fb7a4016800 JavaThread ”catalina-exec-279″ daemon [_thread_blocked, id206091, stack(0x00007fb58d819000,0x00007fb58d91a000)]… …(省略)Other Threads:0x00007fb8b4231000 VMThread [stack: 0x00007fb854eb6000,0x00007fb854fb7000] [id192015]0x00007fb8b4321000 WatcherThread [stack: 0x00007fb835e6c000,0x00007fb835f6d000] [id192414]信息和上面介绍的类似其中[_thread_blocked表示线程阻塞。安全点和锁信息再下面是安全点和锁信息VM state:not at safepoint (normal execution)VM Mutex/Monitor currently owned by a thread: None安全线信息为正常运行其它可能得描述还有not at a safepoint正常运行状态at safepoint所有线程都因为虚拟机等待状态而阻塞等待一个虚拟机操作完成synchronizing一个特殊的虚拟机操作要求虚拟机内的其它线程保持等待状态锁信息为未被线程持有Mutex是虚拟机内部的锁而Monitor则是synchronized锁或者其它关联到的Java对象。堆信息再下面是堆信息Heappar new generation total 2293760K, used 1537284K [0x00000006f0000000, 0x0000000790000000, 0x0000000790000000)eden space 1966080K, 78% used [0x00000006f0000000, 0x000000074dc97aa8, 0x0000000768000000)from space 327680K, 0% used [0x0000000768000000, 0x00000007680a9580, 0x000000077c000000)to space 327680K, 0% used [0x000000077c000000, 0x000000077c000000, 0x0000000790000000)concurrent mark-sweep generation total 1572864K, used 49449K [0x0000000790000000, 0x00000007f0000000, 0x00000007f0000000)concurrent-mark-sweep perm gen total 262144K, used 49857K [0x00000007f0000000, 0x0000000800000000, 0x0000000800000000)Card table byte_map: [0x00007fb8b8fa8000,0x00007fb8b9829000] byte_map_base: 0x00007fb8b5828000堆信息包括新生代、老生代、永久代信息。这里标识了使用CMS垃圾收集器。下面的“Card table”表示一种卡表是jvm维护的一种数据结构用于记录更改对象时的引用以便gc时遍历更少的table和root。本地代码缓存再下面是本地代码缓存信息Code Cache [0x00007fb8b1000000, 0x00007fb8b1a60000, 0x00007fb8b4000000)total_blobs3580 nmethods3111 adapters421 free_code_cache38857Kb largest_free_block39469312这是一块用于编译和保存本地代码的内存注意是本地代码它和PermGen(永久代)是不一样的永久代是用来存放jvm和java类的元数据的。编译事件再下面是本地代码编译信息Compilation events (10 events):Event: 110587.798 Thread 0x00007fb8b425a800 3338 java.util.HashSet::remove (20 bytes)Event: 110587.804 Thread 0x00007fb8b425a800 nmethod 3338 0x00007fb8b168a9d0 code [0x00007fb8b168ab60, 0x00007fb8b168afa8]... ...(省略)Event: 112147.387 Thread 0x00007fb8b425a800 3342 org.apache.http.impl.cookie.BestMatchSpec::formatCookies (116 bytes)Event: 112147.465 Thread 0x00007fb8b425a800 nmethod 3342 0x00007fb8b18fcd50 code [0x00007fb8b18fd1a0, 0x00007fb8b18ff338]可以看到一共编译了10次其中包含org.apache.http.impl.cookie.BestMatchSpec::formatCookies的编译这和前面的结论相吻合。gc相关记录再下面是gc执行记录GC Heap History (10 events):Event: 110665.975 GC heap before{Heap before GC invocations255 (full 31):par new generation total 2293760K, used 1966777K [0x00000006f0000000, 0x0000000790000000, 0x0000000790000000)eden space 1966080K, 100% used [0x00000006f0000000, 0x0000000768000000, 0x0000000768000000)from space 327680K, 0% used [0x0000000768000000, 0x00000007680ae480, 0x000000077c000000)to space 327680K, 0% used [0x000000077c000000, 0x000000077c000000, 0x0000000790000000)concurrent mark-sweep generation total 1572864K, used 49237K [0x0000000790000000, 0x00000007f0000000, 0x00000007f0000000)concurrent-mark-sweep perm gen total 262144K, used 49856K [0x00000007f0000000, 0x0000000800000000, 0x0000000800000000)Event: 110665.981 GC heap afterHeap after GC invocations256 (full 31):par new generation total 2293760K, used 693K [0x00000006f0000000, 0x0000000790000000, 0x0000000790000000)eden space 1966080K, 0% used [0x00000006f0000000, 0x00000006f0000000, 0x0000000768000000)from space 327680K, 0% used [0x000000077c000000, 0x000000077c0ad6f8, 0x0000000790000000)to space 327680K, 0% used [0x0000000768000000, 0x0000000768000000, 0x000000077c000000)concurrent mark-sweep generation total 1572864K, used 49237K [0x0000000790000000, 0x00000007f0000000, 0x00000007f0000000)concurrent-mark-sweep perm gen total 262144K, used 49856K [0x00000007f0000000, 0x0000000800000000, 0x0000000800000000)}... ...(省略)可以看到gc次数为10次(full gc)然后后面描述了每次gc前后的内存信息看一看到并没有内存不足等问题。jvm内存映射再下面是jvm加载的库信息Dynamic libraries:00400000-00401000 r-xp 00000000 08:02 39454583 /home/service/jdk1.7.0_55/bin/java00600000-00601000 rw-p 00000000 08:02 39454583 /home/service/jdk1.7.0_55/bin/java013cd000-013ee000 rw-p 00000000 00:00 0 [heap]6f0000000-800000000 rw-p 00000000 00:00 03056400000-3056416000 r-xp 00000000 08:02 57409539 /lib64/libgcc_s-4.4.7-20120601.so.13056416000-3056615000 ---p 00016000 08:02 57409539 /lib64/libgcc_s-4.4.7-20120601.so.13056615000-3056616000 rw-p 00015000 08:02 57409539 /lib64/libgcc_s-4.4.7-20120601.so.1353be00000-353be20000 r-xp 00000000 08:02 57409933 /lib64/ld-2.12.so353c01f000-353c020000 r--p 0001f000 08:02 57409933 /lib64/ld-2.12.so353c020000-353c021000 rw-p 00020000 08:02 57409933 /lib64/ld-2.12.so... ...(省略)这些信息是虚拟机崩溃时的虚拟内存列表区域。它可以告诉你崩溃原因时哪些类库正在被使用位置在哪里还有堆栈和守护页信息。以列表中第一条为例介绍下00400000-00401000内存区域r-xp权限r/w/x/p/s分别表示读/写/执行/私有/共享00000000文件内的偏移量08:02文件位置的majorID和minorID39454583索引节点号/home/service/jdk1.7.0_55/bin/java文件位置jvm启动参数再下面是jvm启动参数信息VM Arguments:jvm_args: -Djava.util.logging.config.file/home/service/tomcat7007-account-web/conf/logging.properties -Xmx4096m -Xms4096m -Xmn2560m -XX:SurvivorRatio6 -XX:PermSize256m -XX:MaxPermSize256m -XX:UseConcMarkSweepGC -XX:UseParNewGC -XX:PrintGCTimeStamps -XX:PrintGCDateStamps -XX:PrintGCDetails -Xloggc:/home/work/webdata/logs/tomcat7007-account-web/develop/gc.log -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/home/work/webdata/logs/tomcat7007-account-web/develop/ -Dtomcatlogdir/home/work/webdata/logs/tomcat7007-account-web/develop -Djava.util.logging.managerorg.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port7407 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse -Djava.endorsed.dirs/home/service/tomcat7007-account-web/endorsed -Dcatalina.base/home/service/tomcat7007-account-web -Dcatalina.home/home/service/tomcat7007-account-web -Djava.io.tmpdir/home/service/tomcat7007-account-web/tempjava_command: org.apache.catalina.startup.Bootstrap startLauncher Type: SUN_STANDARDEnvironment Variables:JAVA_HOME/home/service/jdk1.7.0_55PATH/opt/zabbix/bin:/opt/zabbix/sbin:/home/service/jdk1.7.0_55/bin:/home/work/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/work/binSHELL/bin/bash上面是jvm参数下面是系统的环境配置。服务器信息再下面是服务器信息/proc/meminfo:MemTotal: 65916492 kBMemFree: 14593468 kBBuffers: 222452 kBCached: 28502452 kBSwapTotal: 0 kBSwapFree: 0 kB... ...(省略)/proc/cpuinfo:processor: 0vendor_id: GenuineIntelcpu family: 6model: 62model name: Intel(R) Xeon(R) CPU E5-2420 v2 2.20GHzstepping: 4... ...(省略)上面是内存信息主要关注下swap信息看看有没有使用虚拟内存下面是cpu信息。
http://www.zqtcl.cn/news/538072/

相关文章:

  • 网站做多个镜像wordpress无法显示向导
  • 交易类网站建设费用工厂招工最新招聘信息
  • 俄语网站建设网站建设的实训报告
  • 朝阳市做网站的公司wordpress msg
  • 企业管理系统免费版seo关于网站
  • 几度设计网站设计制作平板电脑支架
  • 游戏设计 网站上海中企动力做网站多少钱
  • flash 开发的网站网上国网app推广经验
  • pyhton可以做网站吗文章wordpress
  • 省住房城乡建设厅门户网站电子商务网站建设用什么软件
  • 怎么给自己的网站做模版企业网站开发外包
  • 哪家可以做网站东莞网站建设少儿托管
  • 最好的网站建设公司排名生物技术网站开发
  • 网站建设经验大总结不良人网页设计怎么做
  • 宁波市余姚建设局网站学做网站要代码
  • 戴尔公司网站开发的经营目标贵州省铜仁市城乡建设局网站
  • 商务网站建设简答题及答案网站备案 域名证书
  • 网站后门怎么去除贾汪城乡建设局网站
  • 烟台住房和城乡建设厅网站重庆网站界面设计
  • 企业网站推广服务协议html编程语言
  • 上海知名网站建设公司合肥建设云平台证书查询
  • 网站响应度西安哪家公司做的网站好
  • 广州市白云区网站建设维护wordpress如何匹配模板
  • 360网站导航公司地址怎么做seo 优化一般包括哪些内容
  • 龙岗高端建设网站建设南京旅游网页设计
  • 企业网站优化问题wordpress滑动
  • 亳州网站建设费用广东网站建设报价
  • ai生成作文网站驾校网站源码下载
  • icon图标素材下载网站郑州做定制网站的公司
  • 网站建设培训哪家好北京有几个区几个县