描述

一、内存占用过高

1、造成服务器内存占用过高只有两种情况:内存溢出或内存泄漏

(1)内存溢出:程序分配的内存超出物理内存的大小,导致无法继续分配物理内存,出现OOM报错。

(2)内存泄漏:不再调用的对象一直占用着内存不释放,导致所占用的这块内存被浪费掉,久而久之,内存泄漏的对象堆积起来,也会导致物理机的内存被耗尽,出现OOM报错。

2、内存过高的检测办法:

一般我们的Java服务器都是部署在Linux机器上面,可以通过jvm自带的命令进行一些检测:

(1)查看对象的数目和占用内存大小;

(2)如果需要进一步定位问题代码,那么就需要把Java程序的内存镜像导出,再具体分析了,通过如下命令导出程序的内存镜像。

二、CPU使用过高

1、当程序发现CPU使用过高的情况时,可以使用Windows系统的Process Explorer工具来找到CPU高消耗的线程,所以需要在Windows机器上面搭建好服务器的测试环境,尽量模拟出线上CPU飙升的情况;

2、模拟好环境后,通过任务管理器,在进程一栏中找到Java程序的进程号;

3、下载Process Explorer工具:

4、打开工具后,根据刚才的进程号找到进程;

5、然后右键-->Properties,再选择Threads选项卡,点进CPU排序,可以找到消耗CPU最多的那个线程;

6、使用科学计算器,将十进制的线程号转成十六进制,比如493620-->78834;

7、到此已经拿到了可能出问题的进程号和线程号,接下来使用jvm内置的命令来导出Java的堆栈信息:

jstack -l >

8、打开导出的堆栈信息,并全文搜索刚刚拿到的十六进制的线程号,就可以找到出问题的代码具体位置了。

打开APP精彩内容

点击阅读全文

java 内存使用过高_Java服务器内存和CPU占用过高的原因相关推荐

  1. java 内存很高_Java服务器内存和CPU占用过高的原因

    一.内存占用过高 1.造成服务器内存占用过高只有两种情况:内存溢出或内存泄漏 (1)内存溢出:程序分配的内存超出物理内存的大小,导致无法继续分配物理内存,出现OOM报错. (2)内存泄漏:不再调用的对 ...

  2. “RESOURCE MONITOR“CPU占用特别高

    背景: SQL Server 2008 R2 10.50.1600 没有设置页面文件,内存为64G,数据库分配50G cpu使用占了50%以上,平时只有10-20%,某台服务器"RESOUR ...

  3. 性能优化-CPU占用过高问题排查

    1. 性能优化是什么? 1.1 性能优化就是发挥机器本来的性能 1.2 性能瓶颈在哪里,木桶效应. CPU占用过高 1.现象重现 CPU占用过高一般情况是代码中出现了循环调用,最容易出现的情况有几种: ...

  4. java cpu 占用率高_java实战CPU占用过高问题的排查及解决

    最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 1.使用top 定位到占用CPU高的进程PID top 2. ...

  5. windows服务器java项目cpu占用较高原因分析

    前言 在windows平台上要找出到底是哪个线程占用的cpu还不那么容易,linux用top就简单多了最后的解决方法: 1.找到java进程对应的pid. 找pid的方法是:打开任务管理器,然后点击 ...

  6. idea占用cpu过高_生产环境服务器变慢、CPU占用过高,诊断思路和性能评估谈谈?...

    上篇: https://zhuanlan.zhihu.com/p/166162037​zhuanlan.zhihu.com 一.生产环境服务器变慢,诊断思路和性能评估 1.在Linxu准备数据 (1) ...

  7. Top命令找出CPU占用较高的Java线程信息

    Top命令找出CPU占用较高的Java线程信息 由于种种原因导致生产环境的应用CPU占用奇高, 这个时候就需要确定到底是哪些线程占用了较高的CPU, 然后再做针对性的优化, 可以使用jconsole/ ...

  8. 服务器CPU占用过高和哪些因素有关呢

    服务器CPU占用过高和哪些因素有关呢 硬件因素 以下分别从CPU温度,CPU超线程,硬件配置,硬件驱动和待机方面分析. 1.CPU温度过高 如果CPU风扇散热不好,会导致CPU温度太高,使CPU自动降 ...

  9. samba服务器占用端口,SMB 服务器上的 CPU 使用率过高问题

    SMB 服务器上的 CPU 使用率过高问题 12/25/2019 本文内容 本文介绍了如何排查 SMB 服务器上的 CPU 使用率高的问题. 由于存储性能问题导致的 CPU 使用率过高 存储性能问题可 ...

  10. java 一次CPU占用过高问题的排查及解决,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

最新文章

  1. javascript中的异步 macrotask 和 microtask 简介
  2. jquery对象和Dom对象的不同
  3. 44.更多replace案例
  4. 极限与连续知识点总结_高数上知识点期末复习 极限、连续、间断点(一)
  5. SqlServer Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)
  6. Oracle单组函数
  7. 在 Oracle 中使用正则表达式
  8. MySql存储引擎的比较及选择
  9. ArcGIS10.2的详细安装过程和下载方法
  10. 编译原理(第3版)第1章引论课后题答案
  11. MT【293】拐点处切线
  12. led灯光衰怎么解决_影响LED灯具光衰的原因及解决方法
  13. JavaScript基础-数组
  14. modelsim/Questasim中添加xilinx ip库,并仿真成功
  15. QA是干什么的?(职责所在????)
  16. 去掉最高分最低分求平均分
  17. 计算机无法自动排列,Win10电脑如何设置文件夹不再自动排列|取消电脑文件夹自动排列的方法...
  18. 史上最牛逼的导航网站(很全很详细)
  19. unity学习-委托(delegate),事件(event),Action,Func
  20. [排行榜]IT牛人排行榜

热门文章

  1. HTML5期末大作业:电影网站设计——电影动漫言叶之庭(4页) web前端课程设计_web前端课程设计代码,web课程设计-HTML网页制作代码
  2. 计算机网络面试基础知识
  3. 英制 mil 和公制 mm 的换算
  4. 微信小程序注册审核流程
  5. 手写实现bpnn神经网络
  6. html+移动端图片点击放大,移动端点击图片放大特效PhotoSwipe.js插件实现
  7. 最全iOS开发之第三方库
  8. 高通 MSM8K bootloader 之四: ramdump
  9. LTE时代的定位技术:OTDOA,LPP,SUPL2.0
  10. 【20211228】【信号处理】从 Matlab 仿真角度理解频谱泄露