![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
运维
文章平均质量分 83
hh6plus
这个作者很懒,什么都没留下…
展开
-
系统发生无故卡死原因分析
转自:https://my.oschina.net/xiaomu0082/blog/2990388?from=timeline&isappinstalled=0作者分析了系统无故卡死的原因,并追溯到redis使用问题并解决。以下为原文。首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用...转载 2020-02-19 11:13:48 · 1885 阅读 · 0 评论 -
排查load过高/gc过久问题
转载自:http://ju.outofmemory.cn/entry/149977当jvm的gc很久+很频繁时,会导致服务load高,服务5xx响应明显增多等问题。通过dump+MAT可以排查为什么生成了这么多garbage。(jmap使用:https://blog.csdn.net/ligeforrent/article/details/70474203)MAT中Overview可能很小只...转载 2019-05-18 00:06:11 · 1095 阅读 · 0 评论 -
排查线程量超高问题
转载自:https://www.cnblogs.com/zyhxhx/p/4564953.html以下是原文。1. 获取要查看的进程的IDps aux | grep xxx2. 查看此进程下的线程信息top -H -p <pid> top -p <pid> 按shift+h top -Hp <pid> 3....转载 2019-05-17 17:33:40 · 2540 阅读 · 0 评论 -
同时登陆多个linux服务器管理 polysh
polysh组件,利器。仅记录该利器名,具体安装可见其他攻略。语法较灵活polysh mafly0{1,2}polysh mafly01 mafly03polysh 'mafly0<1-4>' gg-mafly01 gg-order01polysh gg-{mafly01,order01} mafly01可以自由搭配出想要的主机名组合...原创 2018-09-26 18:26:30 · 580 阅读 · 0 评论 -
稳定性保障思路
稳定性保障思路1. 线上系统稳定性 容灾切换 流控方案2. 系统依赖 超时设置与监控报警 降级方案 熔断处理 强弱依赖梳理,保证核心流程3. 系统运维 蓝绿部署 回滚规范 自动化运维工具 故障演练4. 流程保障 服务上线流程SOP 数据库变更SOP 代码规范,模板工程 代码质量检...转载 2018-09-06 17:12:27 · 2043 阅读 · 0 评论 -
稳定性、防故障方法论
1. 页面静态化,用户无关的-缓存,用户相关的-异步回填。 适用场景:页面稳定,不会有大变动2. 分清强弱依赖, 弱依赖:做好降级策略,做好限流 强依赖思考能否通过缓存顶一阵。3. 开关 多做开关(系统后门),对是否打印日志,是否限流,降级等都做好。通过配置推送实时更改服务状态。 需要对开关有丰富的测试保证不出问题。未测试过的开关禁止在线上使原创 2017-11-03 17:34:33 · 409 阅读 · 0 评论 -
jps, jmap, jhat, mat, jstat
jps,jmap与jhat的经典实用方法原创 2017-04-22 20:02:51 · 1176 阅读 · 0 评论 -
JVM 垃圾回收 Minor gc vs Major gc vs Full gc
原文: Minor GC vs Major GC vs Full GC在Plumbr进行GC暂停检测功能的工作时, 我不得不阅读大量与此相关的文章,书籍和报告。在研究过程中, 对于Minor, Major和Full GC时间我一再的困惑,这也就导致本博文的产生, 希望我能理清我的一些困惑。本文期望读者熟悉JVM内建的垃圾回收的基本原理。JVM的内存堆对 Eden, Surviv转载 2017-08-03 14:37:08 · 738 阅读 · 0 评论 -
JVM中Perm区持续上涨问题
http://blog.csdn.net/wisgood/article/details/16344885公司一位大牛在微博上的一条,打算消化一下,毕竟今后Perm区的上涨还是有可能遇到的。“Java应用Perm区一直呈上涨趋势的原因可以用一个简单的办法排查,就是用btrace去跟踪下是什么地方在调用ClassLoader.defineClass,在大多数情况下这招都是管用的。”转载 2017-08-17 11:56:10 · 315 阅读 · 0 评论 -
查看文件系统容量
查看硬盘容量状态 df -h 查看文件夹及子系统空间 du {目录}展示此文件夹及所有子文件夹的占用空间 du -k(-m,-g) 用k(M,G)为单位展示空间 du -h 用k,M,G为单位展示人可读的占用空间 du -h --max-depth=1 定义最大的递归深度。原创 2017-03-17 19:52:47 · 642 阅读 · 0 评论 -
find -mtime -newermt 使用心得
最近需要在linux下,某目录中筛出所有mtime < 今天的文件。于是试用了mtime和newermt原创 2017-07-19 15:18:01 · 13335 阅读 · 0 评论 -
某次gc频繁
使用jmap -dump得到文件,mat分析,大量Finalizer对象占据了主要空间。Finalizer对象是实现了finalize()方法的f类,生成实例时一对一生成后,挂在Finalizer类的静态队列(一个gcRoot)下的。它可以保证在一次gc后,如果Finalizer对象对应的f类只有Finalizer引用(被静态队列引用,无法销毁),就把该Finalizer对象从static队列移除,原创 2017-07-07 22:49:16 · 721 阅读 · 0 评论 -
jConsole, jVisualvm, btrace 使用体会
jConsole和jVisualvm(以下简称jVv)是jdk1.6及以上携带的java监控工具。btrace是一款可以在运行时更改执行代码的工具,在jVisualvm中有插件。 (由于jVisualvm在oracle的维护中断,已经移到了github继续维护,btrace的插件也是让我一顿好找。在jVv的新主页:https://visualvm.github.io/上,点击plugins来到ht原创 2017-07-13 23:29:52 · 3298 阅读 · 0 评论 -
java运行管理工具jps, jmap, jstack, gc log
在java代码运行时,我们需要了解程序的运行状态,尤其是内存使用状态、是否有内存泄漏等。以下几个内容有助于实时了解java程序的状态。jps: jps用于获取启动的java程序的进程号(pid),可能存在正在运行的多个java进程。用pid可以细查某个进程的状态。jmap: jmap是分析进程内存占用状态的神器,可以查看指定pid的内存使用状态。jmap [opti原创 2017-03-17 19:52:34 · 643 阅读 · 0 评论 -
代码优化思路
响应时间优化: 思路:先定位耗时时间(打log,加监控),再针对性优化代码。 手段: 1. 对串行的逻辑,能并行的尽量开线程并行。(比如一个poi下两种goods,可以并行处理获取) 2. 数据量大的IO,尽量分块,并行获取。(比如用一个大list批量读缓存,可以分成100个一组,多线程并行读缓存)原创 2017-03-17 19:52:37 · 1429 阅读 · 0 评论 -
netflix火焰图(profile + 转为图像)
使用方法:利用google的lightweight-Java-profiler获取java进程的profile(类hprof格式),再使用gregg大神的awk工具制作成火焰图,进行分析。详细步骤:(可参见http://www.brendangregg.com/blog/2014-06-12/java-flame-graphs.html)1. 下载lightweight-jav原创 2017-06-30 16:09:45 · 1627 阅读 · 1 评论