Linux应用服务导致系统负载过高问题排查
linux服务器上,用uptime、top查看系统的负载明显过高,经过排查,发现是因为代码中死循环造成的。具体的排查过程请参照本文。
使用top命令,发现load average指标值都在1附近,偏高。当然也可以用uptime。用top的好处是可以看到各个进程使用资源的一个排名。在top结果页面,输入P,以cpu消耗进行排名,发现有个java进程占用了98%的cpu资源。记下该进程的pid,通过ps -f -p pid命令,可以发现该进程是tomcat进程,它提供了一个web服务。
目前进程的信息对我们问题的排查没有任何帮助,我们需要查看线程的信息。我们知道,jdk提供了对线程的监控命令jstack,但是我们直接使用此命令帮助不大。我们可以先找出消耗资源较多的线程,这里又要用到top命令。top命令不仅可以查看进程,还可以查看线程。使用top -p pid,只对该进程进行监控,进入界面后,输入H,可以查看该进程下各线程使用资源的情况。截图如下:
可以看出线程20591消耗资源较多。
接下来,我们就需要看看这个线程到底干了什么事情。此时就需要用到jdk提供的jstack工具了。
将线程栈打出来:jstack -F pid,截图如下:
jstack会将进程下所有线程信息打印出来,上图只是截取了部分线程信息。根据线程号,可以找到对应的线程栈。
通过线程栈,找到对应的java代码,发现是因为死循环导致。修改代码重新部署,系统恢复正常。
转载于:https://blog.51cto.com/bosszhang/2139180
Linux应用服务导致系统负载过高问题排查相关推荐
- centos7 gam_server进程导致CPU使用率100%,系统负载很高
现象 gam_server的进程占用吃满cpu,导致系统负载很高,top命令卡死 作用 gam_server是gamin的二进制文件,作用是文件交替监控 方案 找到最高的进程PID top是Linux ...
- Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决
Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 参考文章: (1)Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决 (2)https://www.cnblog ...
- Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续)
Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续) 参考文章: (1)Linux服务器Cache占用过多内存导致系统内存不足问题的排查解决(续) (2)https://www. ...
- linux cpu不足处理运维,Linux运维知识之Linux服务器CPU占用率较高问题排查思路
本文主要向大家介绍了Linux运维知识之Linux服务器CPU占用率较高问题排查思路,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 注意:本文相关配置及说明已在 CentOS ...
- linux分区压力测试,stress-Linux系统压力测试工具使用及系统负载很高的几种场景测试...
安装 yum install stress stress-ng -y stess-ng是stress的下一代,功能更加完善 常用选项 -c,--cpu:代表进程个数(每个进程会占用一个cpu,当超出c ...
- 查看oracle负载过大的原因,Oracle备份时系统负载过高导致ORA-3136错误和AIX系统的3D32B80D错误...
环境: 数据库: AIX5.3下的64位Oracle 10.2.0.1.0 TSM5.4:Windows 2003 带库:IBM3100 1. 数据库的alert_SID.log Mon Jan 11 ...
- 转:[kipmi0]进程导致系统负载高
最近一个用户这边服务器出现服务器负载很高的情况,原本正常是0.3~0.5左右 不正常的时候会达到3,重启机器就正常,开始以为是程序问题,后来在观察的时候把程序给杀掉了 然后重启,结果负载还是很高,于 ...
- centos cpu排查_Linux/CENTOS 系统 CPU 占用率较高负载较高问题排查思路 - 沃森博客...
如果阿里云服务器 ECS Linux 系统的 CPU 持续跑高,则会对系统稳定性和业务运行造成影响.本文对 CPU 占用率较高问题的排查分析做简要说明.注意:本文相关配置及说明已在 CentOS 6. ...
- linux磁盘满了以及负载过高解决办法
1. 磁盘满了 如果一台机器磁盘满了,首先我们需要确定其位置,命令为 df(或者df -h) //显示结果 Filesystem 512-blocks Used Available Capacity ...
最新文章
- Chrome插件HostAdmin
- 光伏行业需理性看待低价中标 市场竞争是必然选择
- 我是如何用机器学习技术帮助 HR 省时间的
- 密码技术--国密证书及go语言生成自签国密证书
- android的单选按钮xml语法,android 控件 单项选择(RadioGroup,RadioButton)
- tomcat防cc_浅析Tomcat防止资料被锁的方式
- BDTC 2019 | 七个开发者能干多大的事?​
- python删除链表的倒数第k个节点,剑指offer 链表中的倒数第K个节点 Python and C++
- ncurses输入函数:字符+字符串的输入
- python爬虫10万信息mysql_python爬虫:爬取易迅网价格信息,并写入Mysql数据库
- PannerNode
- SpringMVC @ResponseBody 406
- disruptor小结--消费者
- AWS Fargate告诉你:什么是容器即服务
- qt 旋转后的三维坐标_OpenGL + Qt: 3 - 旋转动画和键盘操纵
- js将华氏度转为摄氏度
- 微信小程序怎么登录?如何正确登录微信小程序后台?
- 面对新的挑战,成为更好的自己--进击的技术er
- 概率论与数理统计---------大数定律
- Web安全防攻(渗透测试)
热门文章
- python代码检查工具_基于Python3的漏洞检测工具 ( Python3 插件式框架 )
- 嵌入式论文3000字_SCI英文论文一般多少字
- web软件测试 测试报告模板_杭州软件测试培训要多长时间?需要学习什么内容?...
- java生成数据插入hbase_hbase实战之javaAPI插入数据
- matlab矩阵初等变换矩阵,实验一 MATLAB基本操作及矩阵初等运算
- aspose 换行写_aspose.word 换行符 aspose.words换行符
- python中用def实现自动排序_漫画排序算法Python实现
- django开发个人博客
- git:如何让不同开发者提交在同一条直线上
- C#简易通讯录的开发试题