1、使用top命令 ,查询java进程

比如选择86184这个进程

2、用 top -H -p 86184  ,查询该进程下的线程资源

3、使用jstack 86184 > jstack.txt  ,输出 该进程下的线程信息,

4、比如,观察到86344这个线程占用cpu 大, 将十进制的86344 转换成16进制  15148 (十进制转为其他进制 : echo "obase=进制;值" | bc 或者 echo 'ibase=10;obase=16;801312852' |bc)

cat jstack.txt | grep -i  15148

可以查看到是ump 监控线程的信息

一、查询资源占用率高的进程

1.CPU占用最多的前10个进程:

ps auxw|head -1;ps auxw|sort -rn -k3|head -10

2.内存消耗最多的前10个进程

ps auxw|head -1;ps auxw|sort -rn -k4|head -10

3.虚拟内存使用最多的前10个进程

ps auxw|head -1;ps auxw|sort -rn -k5|head -10

二、查看当前java程序中各对象的数量和占用空间

1. 命令如下,其中pid 为进程号

jmap -histo:live pid > pid.txt

也可以通过jmap -histo pid | head -n10 查看前10行的值

通过查看获取到[C代表Char

2,上图还是分析不出来哪个对象占用的多,需要借助

jmap -dump:format=b,file=a.txt pid

jhat -J-Xmx1024M a.txt

上面两个命令可以以页面的形式查看java程序内的内存分配情况

4,可以通过ip:7000访问此java内存的页面,

5,通过以上分析出,我的User对象没有释放,导致User引用的所有对象都常驻内存,导致内存溢出,找到最下方的other query

进入 Show heap histogram

通过instance count 对比找出自己怀疑的异常对象,一般是自己包名下的类

通过References to this object 找出引用此对象的object,通过此过程找到了内存不释放的原因

三、如何定位服务器性能问题

(1)常用方法:排除法、极限法、猜错法、探针法、清单法等等

(2)可能的性能瓶颈:大量大图片、程序内存泄漏、程序死锁、文件频繁读写、慢SQL、缓存雪崩等等

例如:门户类型网站访问首页有大量大图片情况下,通过网络传输耗时;

例如:慢SQL,比如我们的数据库使用的是mysql,存量数据增大后,执行select语句的耗时超过1秒钟,这样的SQL就是慢SQL,需要我们对这样的慢SQL给出调优方案。

(3)JVM。例如应用服务器堆内存设置

java线程占用的空间_linux服务器查询java线程占用的资源-Go语言中文社区相关推荐

  1. java+classpath的理解_Java配置path和classpath的含义详解-Go语言中文社区

    ​ 新入门java的同学经常会问我path和classpath是什么意思,尤其会问classpath是什么意思,为什么只配置一个.就可以.下面以windows系统为例,做一个系统讲解.包含超详细实验数 ...

  2. java gc机制新区域旧屋_Java 内存回收机制——GC机制-Go语言中文社区

    一.Java GC 概念说明 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾 ...

  3. MySQL非分片字段查询_Mycat从入门到放弃-Go语言中文社区

    当初写这篇文章的初衷只是想提醒自己在用一个开源产品前不仅要了解其提供的功能,更要了解其功能和场景边界. 1.非分片字段查询 Mycat中的路由结果是通过分片字段和分片方法来确定的.例如下图中的一个My ...

  4. java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区

    需求描述 如下图,我需要在word里根据一个图片的名字,将名字替换成该图片(公章) 思路: 用POI遍历每一个表格里的每一行的每一个单元格,如果遇到我自己定义的"&章",则 ...

  5. java蓝桥杯dfs_第七届 蓝桥杯决赛 Java B组 打靶 解题报告(DFS,回溯,全排列)-Go语言中文社区...

    题目: 打靶 小明参加X星球的打靶比赛. 比赛使用电子感应计分系统.其中有一局,小明得了96分. 这局小明共打了6发子弹,没有脱靶. 但望远镜看过去,只有3个弹孔. 显然,有些子弹准确地穿过了前边的弹 ...

  6. java怎么导出有模板的表格_java用模板导出数据表格-Go语言中文社区

    1.创建表格: 2.编写导出的controller; @PostMapping("/cust/report/customer/export") public void export ...

  7. linux服务器查询java线程占用的资源

    1.使用top命令 ,查询java进程 比如选择86184这个进程 2.用 top -H -p 86184  ,查询该进程下的线程资源 3.使用jstack 86184 > jstack.txt ...

  8. 安卓休眠唤醒ajax休线程,休眠无法获得远程服务器上当前线程的事务同步会话...

    我在类似问题上阅读了其他答案,但我没有找到解决我的问题的方法.我有一个Tomcat7服务器和一个使用Hibernate连接到我的PostgreSQL远程数据库的Spring应用程序. 我的框架版本: ...

  9. java 判断进程状态_获取远程服务器上 Java 进程的运行状态

    为了安全考虑, 有些服务器会被限制登录. 本文介绍如何获取远程服务器上 Java 进程的运行状态. 启动 jstatd 服务 在服务器端启动 jstatd 服务后, 远程的机器可以通过 rmi 协议获 ...

最新文章

  1. PHP7 RC7 Release对比PHP5.6快速排序20000数据性能体验以及新语法尝鲜
  2. 企业大数据运用实战案例分享
  3. php七牛分片上传_ThinkPHP实现JavaScript上传大视频到七牛云实例
  4. dup/dup2函数的用法
  5. SpringBoot + Mybatis 多模块( module )项目搭建教程
  6. RapidXML问题
  7. matlab二元积分函数求导,多元函数求积分求导.ppt
  8. UESTC 1634 去年春恨却来时,落花人独立,微雨燕双飞
  9. 织梦dedecms建站流程
  10. Android系统各个版本发布时间
  11. 用ClickHouse在GitHub上数星星
  12. CISP注册信息安全专业人员知识体系大纲(CISE/CISO)
  13. 【计组】字长、数据总线、地址总线
  14. matlab commsrc.pn,poly2trellis
  15. NBUT 1119 Patchouli's Books (STL应用)
  16. ListView多选操作模式详解
  17. PS网页设计教程VI——在Photoshop中创建一个食物博客布局
  18. Cisco Packet Tracer 思科网络环境模拟器(留言邮箱就好,看到会回的哦~)
  19. 光纤收发器 制作思路(中)
  20. OpenCV系列之直方图-2:直方图均衡 | 二十七

热门文章

  1. Mysql 查询数据并按顺序添加序号
  2. Python——爬取某瓣电影评论信息并生成词云图
  3. Win11系统新建的excel表格怎么保存到桌面?
  4. 常用自动门感应器工作原理
  5. php7不再把十六进制当数字,php7 参数、整形及字符串处理机制修改实例分析
  6. 汇编语言 ORG伪指令
  7. Java英文技术网站
  8. python浮点数整数、小数分离,整数取整
  9. mock 数据常用的工具网站
  10. 实用工具和网站合集分享