JVM工作原理与实战(二十九):监控内存泄漏的工具
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了解决内存溢出的步骤、Top命令、VisualVM、Arthas、Prometheus + Grafana等内容。
字节面试:CPU被打满了,CPU100%,如何处理?
尼恩,一位拥有20多年经验的老架构师,针对近期读者在一线互联网企业面试中遇到的CPU 100%和红包架构等问题,进行了系统化梳理。文章详细解析了CPU 100%的三大类型问题(业务类、并发类、内存类)及其九种常见场景,提供了使用jstack和arthas两大工具定位问题的具体步骤,并分享了解决死锁问题的实战案例。尼恩还强调了面试时应先考虑回滚版本,再使用工具定位问题的重要性。此外,尼恩提供了丰富的技术资料,如《尼恩Java面试宝典》等,帮助读者提升技术水平,轻松应对面试挑战。
JVM调优之G1换CMS
SIZE: 进程使用的地址空间,如果进程映射了 100M 的内存,进程的地址空间将报告为 100M 内存。事实上,这个大小不是一个程序实际使用的内存数。
Arthas简介
Arthas 是Alibaba开源的Java诊断工具。安装在系统所在服务器。可以帮助开发人员或者运维人员查找问题,分析性能,bug追踪。
使用场景
1. 快速 debug,最常见的是遇到 bug但没有打印相应的日志(入参、返回值),如果是生产或者预发环境,重新打补丁部署很麻烦
2. 反编译源码,查看 jvm 加载的代码是否符合预期
3. 耗时分析,查看方法内调用路径及各方法执行耗时情况
4. 查看 JVM 运行情况
等等......