笑死,面试还会这样问?
原创 2022-12-31 10:31:32
10000+阅读
利用java反射排查一次线上问题(确定问题问题定位) 背景hive 用的 1.1.0版本(其实这个版本bug挺多,包括执行计划串列的等等问题吧,建议大家如果选1.x版本用1.2.2吧),一下提到的代码部分如无特殊说明都是hive-1.1.0版本。前段时间写一个hive sql 预估资源的服务(根据sql返回其读取的行数及所读文件(表)的大小,在运行时给其指定合理资源的大小,
转载 2023-08-24 15:47:09
47阅读
Arthas(阿尔萨斯) 能为你做什么?Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?线上遇到某个
Arthas是一个类似于Btrace的JVM在线调试分析工具,具体可参考我之前写的一篇博客:[利用JVM在线调试工具排查线上问题](https://blog.51cto.com/nxlhero/2441511)。本文分享笔者刚遇到的一个问题,虽然不复杂,但是很典型。
原创 2019-10-25 22:05:57
4274阅读
一、前言:我们在⽣产环境中,程序代码、硬件、⽹络、协作软件等任⼀因素,都会引发意想不到的问题,所以排查产线问题⽐较困难,所以问题定位体现了⼀名⼯程师的基础能⼒,问题的解决则体现了⼯程师的技能素养。二、线上常见问题 如出现 (CPU占⽤率过⾼、磁盘使⽤率100%、系统可⽤内存低、服务间调⽤时间过⻓、多线程并发异常、死锁等)三、定位问题方案 :业务⽇志分析排查通常情况下,⼤部分错误信息都会在⽇志上有
转载 2024-03-11 22:55:11
90阅读
前言在使用 Arthas 之前,当遇到 Java 线上问题时,如 CPU 飙升、负载突高、内存溢出等问题,你需要查命令,查网络,然后 jps、jstack、jmap、jhat、jstat、hprof 等一通操作。最终焦头烂额,还不一定能查出问题所在。而现在,大多数的常见问题你都可以使用 Arthas 轻松定位,迅速解决,及时止损,准时下班。1、Arthas 介绍Arthas 是 Alibaba 在
转载 2023-09-25 17:28:05
52阅读
备注:此文章参考《Java并发编程的艺术》有很多问题在开发环境下并不会出现,在生产环境下才会出现,而在生产环境下又不能调试代码,只能根据线上日志,系统状态,dump线程来定位问题一.查看每一个进程的状态使用命令:topuser:表示当前登录该机器的用户数load average:一分钟负载,五分钟负载,十分钟负载(每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值,这个数除以逻辑CPU的数
 有时候,有很多问题只有在线上或者预发环境才能发现,而线上又不能调试代码,所以线上问题定位就只能看日志、系统状态和dump线程。1)在Linux命令行下使用TOP命令查看每个进程的情况,显示如下。top - 22:27:25 up 463 days, 12:46, 1 user, load average: 11.80, 12.19, 11.79 Tasks: 113 total, 5 runni
转载 2023-08-04 09:58:22
60阅读
概述Java语言是当前互联网应用最为广泛的语言,作为一名Java程序员,当业务相对比较稳定之后平常工作除了coding之外,大部分时间(70%-80%)是会用来排查突发或者周期性的线上问题。 排查线上问题是具有一定技巧或者说是经验规律的,排查者如果对业务系统了解的越深入,那么相对来说定位也会容易一些。 不管怎么说,掌握Java服务线上问题排查思路并能够熟练排查问题常用工具/命令/平台是每一个Jav
转载 2023-07-18 22:44:34
20阅读
1、环境的差异,传统模式下的部署方式大都基于vm,出现环境的差异是不可避免的,如今的技术先进了很多,docker容器化足以支持环境的差异问题,不过这个也是一个比较优先的方案。
转载 2023-07-25 09:32:29
48阅读
前言内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。Java是由C++发展来的,抛弃了C++中一些繁琐容易出错的东西,程序员忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,而Java的GC(Garbage Collection)是自动检测不用的对象,达到自动回收,既然是自动检测回
java线上服务问题排查1、业务日志相关如果应用系统出现异常,一般都会在业务日志中体现统计当天业务日志中ERROR出现数量:egrep ERROR --color logname | wc -l ,如果错误数量过大,一般都是有问题的查看日志中ERROR后10行具体报错:egrep -A 10 ERROR logname | less ,或 -C 10 查看ERROR前后10行日志Java中,所有异
# 定位线上Java内存泄露 作为一名经验丰富的开发者,解决内存泄露是我们经常遇到的问题之一。在这篇文章中,我将教你如何定位线上Java内存泄露的问题。 ## 流程 下面是定位线上Java内存泄露问题的流程表格: | 步骤 | 操作 | |--------|--------------| | 步骤1 | 监控内存使用情况 | | 步骤2 | 分析内存快照 |
原创 2024-04-04 06:28:05
64阅读
当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决
转载 2021-09-15 17:05:05
134阅读
一. Java常见线上问题所有的Java线上问题从系统表现来看无非归咎于这几种:CPU,内存,磁盘,网络。比如CPU突然飙升赞满,内存溢出,网络异常,磁盘爆满等问题。二. 问题定位一般我们先定位系统异常后再去定位到具体的业务异常,逐步进行排查。2.1 系统异常排查流程图系统异常排查流程图2.2 业务异常排查流程图三. 实际排查首先我们可以看看能否从表象直接定位问题:1.查看日志,看有没有发现集中的
转载 2023-09-30 23:06:52
53阅读
“线下不会有问题的”、 “代码不可能有问题,是系统原因吧”、“能在线上远程 debug 么?”线上问题不同于开发期间的 bug,与运行时环境、压力、并发情况、具体的业务相关。对于线上问题利用线上环境可用的工具,收集必要信息对定位问题十分重要。对于导致问题的 Bug、资源瓶颈很难直观取得数据,需要根据资源使用数据、日志等信息推测问题根源。并且疑难问题定位通常需要使用不同的方法追根溯源。我们从众多
转载 2023-08-07 19:24:46
86阅读
背景最近时运不佳,几乎天天被线上问题骚扰。前几天刚解决了一个HashSet的并发问题,周六又来了一个性能问题。大致的现象是:我们提供出去的一个OpenAPI反应时快时慢,快的时候几十毫秒,慢的时候几秒钟才响应。尝试解决由于这种也不是业务问题,不能直接定位。所以尝试在测试环境复现,但遗憾的测试环境贼快。没办法只能硬着头皮上了。中途有抱着侥幸心里让运维查看了Nginx里OpenAPI的响应时间,想把锅
原创 2020-12-10 22:09:20
571阅读
作者:crossoverJie     背景   最近时运不佳,几乎天天被线上问题骚扰。前几天刚解决了一个 HashSet 的并发问题,周六又来了一个性能问题。   大致的现象是: 我们提供出去的一个 OpenAPI 反应时快时慢,快的时候几十毫秒,慢的时候几秒钟才响应。   尝试解决   由于这种也不是业务问题,不能直接定位。所以尝试在测试环境复现,但遗憾的测试环境贼快。   没办法只能硬着
转载 2021-07-21 17:11:27
142阅读
最近时运不佳,几乎天天被线上问题骚扰。前几天刚解决了一个 HashSet 的并发问题,周一又来了一个性能问题
原创 2018-11-12 21:32:16
509阅读
问题处理专业户又来背锅了。
原创 2022-09-07 21:09:40
45阅读
  • 1
  • 2
  • 3
  • 4
  • 5