线上的tomcat 无法启动,一直停留在:
Jun 22, 2016 4:12:01 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jun 22, 2016 4:12:02 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Jun 22, 2016 4:24:19 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Jun 22, 2016 4:24:19 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
没有日志输出,应该是出现这个应该出在tomcat上,跟应用无关; 在运维的同事的支持下, 发现 tomcat启动参数:
-Xmx8192m -Xms8192m -Xmn4g -Xss256k
-Xmx:最大堆大小
-Xms:初始堆大小
-Xss: 单线程的堆大小(这个值的设置会影响到应用能够支持的线程数量)
后来把 这个
-Xss512k
线上的tomcat 可以正常启动;在这里感谢运维同事的辛勤劳动……
附上: 常用查错误的常用命令:
jmap (生成堆转储快照(heapdump))
常用指令
jmap -heap 3331:查看java 堆(heap)使用情况
jmap -histo 3331:查看堆内存(histogram)中的对象数量及大小
jmap -histo:live 3331:JVM会先触发gc,然后再统计信息
jmap -dump:format=b,file=heapDump 3331:将内存使用的详细情况输出到文件,之后一般使用其他工具进行分析。
详细介绍
jhat (一般与jmap搭配使用,用来分析jmap生成的堆转储文件)
由于有很多可视化工具(Eclipse Memory Analyzer 、IBM HeapAnalyzer)可以替代,所以很少用。不过在没有可视化工具的机器上也是可用的。
常用指令
jmap -dump:format=b,file=heapDump 3331 + jhat heapDump:解析Java堆转储文件,并启动一个 web server
详细介绍
jstack(生成当前时刻的线程快照)
常用指令
jstack 3331:查看线程情况
jstack -F 3331:正常输出不被响应时,使用该指令
jstack -l 3331:除堆栈外,显示关于锁的附件信息
详细介绍
常见问题定位过程
1) 频繁GC问题或内存溢出问题
一、使用jps查看线程ID
二、使用jstat -gc 3331 250 20 查看gc情况,一般比较关注PERM区的情况,查看GC的增长情况.
三、使用jstat -gccause:额外输出上次GC原因
四、使用jmap -dump:format=b,file=heapDump 3331生成堆转储文件
五、使用jhat或者可视化工具(Eclipse Memory Analyzer 、IBM HeapAnalyzer)分析堆情况。
六、结合代码解决内存溢出或泄露问题.
2) 死锁问题
一、使用jps查看线程ID
二、使用jstack 3331:查看线程情况
相关推荐
PDF-XSS实例文件
动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受...
### Java JVM 参数 `-Xms`、`-Xmx`、`-Xmn`、`-Xss` 调优总结 #### 一、概述 本文档主要介绍Java虚拟机(JVM)中四个重要的参数:`-Xms`、`-Xmx`、`-Xmn` 和 `-Xss` 的含义、作用以及如何通过这些参数来优化JVM的性能...
JVM调优总结 -Xms -Xmx -Xmn -Xss JVM 调优是 Java virtual machine 的性能优化,通过调整 JVM 的参数来提高 Java 应用程序的性能。其中,-Xms、-Xmx、-Xmn、-Xss 是四个重要的参数,分别控制 JVM 的初始堆大小、...
确保`-Xms`小于或等于`-Xmx`,否则JVM无法启动。 3. `-Xmn`: 这个参数用来指定年轻代(Young Generation)的大小。年轻代是堆内存的一部分,主要用于存储新创建的对象。年轻代又分为Eden区和两个Survivor区。合理...
- 启动与停止:通过执行`bin/startup.bat`和`bin/shutdown.bat`脚本启动和停止Tomcat服务。 **部署Web应用**: - 将`.war`文件放入`webapps`目录下,Tomcat会自动解压并部署应用。 - 或者,可以使用管理工具如`...
### JVM调优总结:Xms、Xmx、Xmn、Xss 在Java虚拟机(JVM)的运行过程中,合理的参数配置对于提高程序性能至关重要。本文将对JVM调优中的几个关键参数进行深入解析,包括-Xms、-Xmx、-Xmn和-Xss等,帮助开发者更好...
这个"apache-tomcat-8.5.32-windows-x64.zip"压缩包是针对Windows 64位系统的Tomcat 8.5.32版本的安装包。这个版本在Tomcat 8系列中是一个稳定版本,它提供了许多特性,优化了性能,并修复了一些已知的安全问题。 ...
DOM-XSS 漏洞的挖掘与攻击面延伸技术创新 DOM-XSS 漏洞是一种常见的安全漏洞,它可以导致攻击者inject恶意脚本,获取敏感信息,从而危害用户的安全。下面是 DOM-XSS 漏洞的挖掘与攻击面延伸技术创新知识点: 1. ...
FinDOM-XSS FinDOM-XSS是一种工具,可让您快速找到可能的和/或潜在的基于DOM的XSS漏洞。安装$ git clone https://github.com/dwisiswant0/findom-xss.git --recurse-submodules依赖项: 用法要在目标上运行该工具,...
在Laravel框架中,开发一个XSS(跨站脚本)中间件是非常重要的,因为XSS攻击是Web应用中常见的安全问题。XSS攻击允许恶意用户通过注入可执行的脚本到网页上,来窃取用户的敏感信息或者破坏网站功能。`laravel-xss-...
在前端开发中,XSS(Cross-site scripting)攻击是一种常见的安全威胁,它允许攻击者通过注入恶意脚本到网页上,从而控制用户浏览器的行为。"前端开源库-xss-filters"是一个专门针对这种情况设计的开源库,其目标是...
在网络安全领域中,“自我跨站脚本攻击”(Self-XSS)通常被视为一个不起眼的安全问题。然而,在实际应用中,通过巧妙的设计和策略,Self-XSS可以成为一种强有力的攻击手段。本文将基于一次偶然触发Self-XSS的经历,...
压缩包内的"apache-tomcat-8.0.20"文件夹包含了Tomcat 8.0.20的所有组件和配置文件。主要的目录结构如下: 1. `bin`:包含启动和停止服务器的脚本,以及其他的管理工具。 2. `conf`:存储服务器的配置文件,如...
XSS 漏洞是一种常见的前端安全问题,指的是攻击者在 Web 应用程序中注入恶意脚本,以欺骗用户或窃取用户信息。XSS 漏洞的危害非常高,黑客可以通过 XSS 漏洞盗取用户的敏感信息,或者执行恶意操作。 1. 非持久性 ...
pikachu-xss
### DOM-XSS漏洞的挖掘与攻击面延伸 #### DOM-XSS挖掘与利用 **文档概述:** 本文档深入探讨了DOM-XSS(Document Object Model Cross-Site Scripting)漏洞的挖掘方法及其攻击面的延伸。DOM-XSS是一种特殊的XSS...
此外,还可以使用JConsole、VisualVM等工具,更直观地监控和分析JVM内存使用情况,这对于性能调优和问题排查极为有益。 #### 结语 合理设置和调优JVM内存参数,是提高Java应用性能的关键所在。通过对JVM内存管理...
Java虚拟机(JVM)参数调优是提升Java应用程序性能的关键环节。本文主要围绕四个核心JVM参数:-Xms、-Xmx、-Xmn和-Xss进行深入讲解,并...在实际操作中,还需要配合监控工具进行性能分析,以便更准确地定位和优化问题。
在Laravel框架中,开发过程中保护应用程序免受跨站脚本(XSS)攻击是非常重要的。XSS是一种常见的Web安全漏洞,它允许攻击者通过注入恶意脚本到网页上,来窃取用户的数据或者控制用户的浏览器行为。"laravel-xss-...