Windows下找到JVM占用资源高的线程】的更多相关文章

与linux下top命令直接显示进程下线程资源占用不同,Windows下默认任务管理器只能显示出进程的资源占用,jconsle等工具也只能显示出java进程资源占用,无法显示出进程能具体线程的资源占用,为此需要用到一个工具processExplorer. 1.用任务管理器或jconsle工具占用资源最高的java进程pid: 2.用processExplorer工具找到这个进程下线程的资源占用情况,找到占用资源最高的线程id,将其转换为16进制显示: 3.jconsle或jstack java进…
linux的top命令不仅可以看线程的资源占用,还可以看进程下线程的资源占用,结合对应的java命令可以定位到具体有问题的Java代码,以找出占用CPU最高的线程为例: 第一步: 通过 top命令查找到这个消耗CPU的进程号PID 8958 第二步:使用 top -Hp pid(shift+p 按cpu排序,shift+m 按内存排序) top -Hp 8958 获取到这个进程下面所有线程,通过查看%CPU找到最耗费CPU的是线程PID 第三步:使用 printf '%x\n' PID (PID…
一.问题描述 Tomcat下面部署很多个java项目的war包,tomcat启动一段时间后,发现cpu占用过高,整个界面卡死! 二.通过process explorer查看java进程下的线程 process explorer是Windows系统和应用程序监视工具. process explorer下载:https://technet.microsoft.com/en-us/sysinternals/bb896653/ 下载后直接打开即可: 使用PID为3764的进程,点开javaw.exe进程…
分析应该是memcache的内存大小还是默认配置,已经满足不了当前的大数据量的需要了,大量的新缓存需要进入,同时大量的旧缓存又需要被淘汰出来,一进一出导致CPU占用过多. 进入注册表,找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 在ImagePath项的值为:“D:\memcached\memcached.exe” -d runservice 改成:“D:\memcached\memcached.…
--SQL SERVER 占用资源高的SQL语句: --查询占用cpu高的前 50 个 SQL 语句 SELECT total_cpu_time,[total_physical_Reads], total_execution_count, number_of_statements, s2.text --(SELECT SUBSTRING(s2.text, statement_start_offset / 2, ((CASE WHEN statement_end_offset = -1 THEN…
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模式. 今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时间查阅了大量资料,并做了一番实验后,终于把这些困惑全都搞得清清楚楚了. 说实话,之所以花了这么…
# . 查看主进程占用cpu高 top # java # . 按照线程占用cpu由高到低进行排查: -o THREAD,tid, # USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME # root :: # root - futex_ - - :: # root - futex_ - - :: # root - futex_ - - :: # root - skb_re - - :: # . 将线程号转化为16进制: printf 6e7 # . 通过主…
背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于100%,本地又没有什么接口调用,为什么会这样?cpu使用率居高不下,自然是有某些线程一直占用着cpu资源,那又如何查看占用cpu较高的线程? 当然一个正常的程序员不会写出上述代码,这里只是为了让一个线程占用较高的cpu资源. top命令 在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序 1.上图中可以看出pid为23344的java进程占用了较多的cpu资源:2.通过top -Hp 23…
1. /tmp/hsperfdata_$USER目录 $USER是启动JAVA进程的用户,这里保存的所有用户启动的JAVA进程. 这些都JAVA进程的PID,里面存放的是JVM进程信息.你所用的jsp.jstack.jmap这些工具都会读取这个目录中对应PID的文件获取连接信息.有时候你会发现这样的错误 这种情况是你使用的是一个JAVA的线程号而不是一个进程号.因为jstack.jps.jmap这些工具都是使用进程号的.如果你提供了一个根本不存在的进程号呢?它会告诉你无此进程. 这种情况是你使用…
0. 参考 参考链接:  Windows下如何查看某个端口被谁占用 1. 遇到的问题 在 Windows 下的 IDEA 中启动 Web 服务显示 8080 端口被占用,程序无法正确启动. 2. 解决思路 关闭占用进程的应用 通过 Google 检索遇到的问题 查到了Windows下如何查看某个端口被谁占用 3. 解决方案 3.1 打开命令窗口 Windows + R    --->   cmd 3.2 查看被占用端口对应的PID netstat -aon|findstr "8080&qu…
windows下面查看端口占用情况: netstat -ano|findstr "8888" TCP 127.0.0.1:8888 0.0.0.0:0 LISTENING 6876 上面的意思是说端口号8888被进程号6876占用,如果想停止这个进程,继续下面的命令: tasklist|findstr "6876" vBoxHeadless.exe 6876 Console 1 66,488k 就到任务管理器下去找到相关程序并终止就可以了.…
1.查看主进程占用cpu高: 此处主进程:27823 ~]# top top - :0: up days, :, 3 users, load average: 13.12, 13.31, 13.23 Tasks: total, running, sleeping, stopped, zombie %Cpu(s):100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : total, free, used,…
今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时间查阅了大量资料,并做了一番实验后,终于把这些困惑全都搞得清清楚楚了. 说实话,之所以花了这么多时间,很大程度上是由于网上的资料几乎全都是支离破碎.以讹传讹的.既然我已经搞懂了,就花时间整理出来,即方便自己看,也便于大家阅读.相信通过这篇文章,可以解答很多在Windows下搭建PHP开发环境的朋友的…
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"        经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 1.Windows平台 在windows…
最近在重新安装Mysql的时候,发现3306默认端口被占用了.类似的情况常常遇到,想查看到底是哪个程序把这个端口占用了. 下面是我google找到的方法,和大家分享. 1. 首先,使用netstat -aon|findstr "3306"命令,查看3306端口都被哪个进程占用了 下面的PID就是进程Id 2. 使用命令 tasklist|findstr "3628" 查看3628进程是什么程序 通过上面的命令,就很容易的知道是谁占用了端口了.…
最近在用ICE做分布式应用 https://doc.zeroc.com/pages/viewpage.action?pageId=5048454 写了一个client 和server.server监听的是样例中给出来的10000端口.发现在我的windows 7环境下没有按照例子的结果在server端打印出Hello World.觉得疑惑.后来想想是不是端口号被占用了,果然10000端口被 PID为2032的进程占用了. 所以,我把server端的端口改了.就能用了. 查看端口可以用netsta…
1.开始---->运行---->cmd,或者是window+R组合键,调出命令窗口 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是49157,首先找到它.   3.查看被占用端口对应的PID,输入命令:netstat -aon|findstr "49157",回车,记下最后一位数字,即PID,这里是2720 4.继续输入tasklist|findstr "2720",回车,查看是哪个进程或者程序占用了27…
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法. 例如:需要查看9001端口被谁占用,并将其进程强制关闭 在命令行模式下输入: 1)查看所有端口占用情况:netstat -ano 2)查看指定端口占用情况:  netstat -aon|findstr "9001" 协议        本地地址                     外部地址               状态          …
一.Nginx下载与安装 1.nginx官方下载地址:http://nginx.org/ 2.下载完后将压缩包解压即可 3.nginx配置文件为根目录下conf\nginx.conf 二.Nginx常用命令说明 cmd进入nginx安装目录 tasklist /fi "imagename eq nginx.exe" 查看nginx进程 start nginx 启动nginx nginx -s quit 安全关闭 nginx -s stop 强制关闭 nginx -s reload 改变…
1:打开CMD输入:netstat -ano | findstr "80" 找到PID: 2:查看应用名称:tasklist | findstr "2544" 3:打开任务管理器关闭应用…
第一步,执行命令:netstat -ano -a 显示所有连接和监听端口 -n 以数字形式显示地址和端口号. 此选项一般与 -a选项组合使用 -o 显示与每个连接相关的所属进程 ID. Active Connections Proto Local Address          Foreign Address        State           PID TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING    …
http://www.cnblogs.com/rollenholt/archive/2012/08/17/2644657.html…
http://blog.csdn.net/jgwei/article/details/12079147 http://hllvm.group.iteye.com/group/topic/38893 http://stackoverflow.com/questions/3805376/jps-returns-no-output-even-when-java-processes-are-running/3822795#3822795…
互联网后端架构 https://mp.weixin.qq.com/s/LiqAy2DikbmZzqogb5XRdA JVM的CPU资源占用过高问题的排查 互联网后端架构  今天 上午线上某应用的一台JVM的CPU占比突然飙高到192%,并且一直下不来,导致监控一直告警,好久没处理这种问题了,现在将问题排查步骤总结记录一下.(以下的图都不是线上问题的截图,涉及到公司业务) 1.通过top命令查看当前机器的CPU使用情况 此时发现如果是Java的进程占用过高,并且一直下不来,则排查是什么线程导致占比…
原文:https://www.iteye.com/blog/tyrion-2293369 上午线上某应用的一台JVM的CPU占比突然飙高到192%,并且一直下不来,导致监控一直告警,好久没处理这种问题了,现在将问题排查步骤总结记录一下. 1.通过top命令查看当前机器的CPU使用情况 此时发现如果是Java的进程占用过高,并且一直下不来,则排查是什么线程导致占比过高.以图中进程举例,假如发现PID为31357的Java进程占CPU比一直很高,则记录下它的PID 2.查看Java进程里面的线程的占…
http://my.oschina.net/shipley/blog/520062 一.背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作. ? 1 # java -cp ./test-threads.jar com.spiro.Main 二.现象: 通过top命令查看当前CPU情况 可以看到有个java进程占用CPU过高,下面来排查是什么线程的什么代码导致CPU过高. 三.步骤 先获得PID为2023,上图可以看到,或者通过jps命令获取. 执行以下命令: ? 1…
一.背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作. # java -cp ./test-threads.jar com.spiro.Main 二.现象: 通过top命令查看当前CPU情况 可以看到有个java进程占用CPU过高,下面来排查是什么线程的什么代码导致CPU过高. 三.步骤 先获得PID为2023,上图可以看到,或者通过jps命令获取. 执行以下命令: # top -H -p2023 说明: -H 指显示线程,-p 是指定进程 结果: 可以看到两个CP…
windows下查询端口占用情况 ,强制结束端口占用程序 查询8080端口被那个程序占用 如何强制结束windows下端口占用情况? 下面操作在win10下 在控制台执行命令   1.列出所有端口的情况 netstat -ano 2.查询指定的端口被占用的情况   上图中本地地址一列中的冒号:  后面的数字就是端口号 netstat -aon|findstr "端口号"…
  1.情景展示 java虚拟机占用这么高的CPU,肯定不正常! 2.原因分析 第一个是tomcat,正在运行java项目: 第二个是eclipse,因为eclipse的运行依赖于java. 现在的问题是:tomcat的CPU使用率达到了90%,单独运行tomcat是不可能占用这么多CPU的,所以,问题就出现在: java项目的CPU占有问题. 既然知道项目有问题,那就需要排查项目中具体哪个java类中的哪行代码出了问题. 将第一个应用程序也就是tomcat关闭后,CPU立马会降下来,这进一步证…