- 浏览: 651669 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (144)
- grails (2)
- jboss (2)
- html5 (2)
- maven (9)
- mysql (9)
- android (13)
- java (39)
- javascript (16)
- flex (3)
- oracle (7)
- ubuntu (5)
- tomcat (1)
- ssh (1)
- iphone (0)
- eclipse (5)
- jquery (4)
- web (7)
- ibatis (7)
- dwr (5)
- hibernate (1)
- ws (0)
- freemarker (4)
- css (2)
- webservice (1)
- html (2)
- jsp (4)
- os (5)
- xp (4)
- cpu (2)
- sql (5)
- db (2)
- 数据库 (5)
- log4j.properties (1)
- date (1)
- map (1)
- log4j (1)
- java spring dwr (1)
- (2)
- xml (4)
- ajax (3)
- servlet (1)
- xmlhttp (1)
- linux (2)
- socket (2)
- java,多线程 (1)
- android,java,os (1)
- Android,java (2)
- spring (1)
- java,dwr (1)
- js (2)
- 回调 (1)
- java,event (1)
- java ,注解, (1)
- avd (1)
- sdk (1)
- maven,java,xml,nexus (1)
- java,maven,nexus (1)
- Maven,Android,i-jetty,java (1)
- web js 参数 (1)
- java mac os (1)
- mac os (2)
- mac (1)
- 环境 (1)
- 搭建 (1)
- adt (1)
- adb (1)
- iOS (1)
最新评论
-
lhs472194266:
可以 X-Forwarded-For 可以轻易的被伪造
Java获取IP地址:request.getRemoteAddr()警惕 -
Nabulio:
图片全部加载不出来
maven 建立本地仓库 -
wahaha603:
...
Properties的相对路径以及文件的读取操作 -
一别梦心:
图片没了,楼主补充一下吧
maven 建立本地仓库 -
a_jie1981:
a_jie1981 写道试试http://www.findma ...
maven 建立本地仓库
1: 首先把JDK Linux版本上传到服务器上.
2: 使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈.
3: 使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高. 比如:
top - 17:23:50 up 12 days, 1:44, 8 users, load average: 4.85, 3.56, 3.76
Tasks: 556 total, 1 running, 555 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.4%us, 4.4%sy, 0.4%ni, 71.6%id, 15.5%wa, 0.0%hi, 0.6%si, 0.0%st
Mem: 32072M total, 31972M used, 100M free, 265M buffers
Swap: 2047M total, 81M used, 1965M free, 23734M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17363 webserve 20 0 4475m 2.9g 10m R 54 9.4 163:29.84 java
16452 webserve 20 0 4475m 2.9g 10m S 6 9.4 6:03.00 java
11283 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.35 java
11284 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.41 java
11285 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:20.89 java
11288 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.18 java
11291 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.04 java
11280 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:20.66 java
11281 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.41 java
11282 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.26 java
11286 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.36 java
11287 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.43 java
11289 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.80 java
11290 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:22.13 java
11292 webserve 20 0 4475m 2.9g 10m S 2 9.4 7:21.35 java
11293 webserve 20 0 4475m 2.9g 10m S 2 9.4 24:29.70 java
18727 webserve 20 0 4475m 2.9g 10m S 1 9.4 3:08.50 java
18812 webserve 20 0 4475m 2.9g 10m S 1 9.4 3:05.80 java
18829 webserve 20 0 4475m 2.9g 10m S 1 9.4 3:03.32 java
19888 webserve 20 0 4475m 2.9g 10m S 1 9.4 3:04.66 java
比如上面信息就可以看到 17363 线程CPU使用较高, 把这个值转换为 16 进制, 然后在第2步打印的
线程栈中进行搜索, 就可以知道这个线程栈是做什么的了.
1 top
得到最高的pid
2 查看pid子进程
top -H -p PID
3 查看子进程的详情
./jstack -F pid
发表评论
-
android wifi 无线调试
2012-06-17 17:24 4410数据线丢了,不想花钱去买,在网上看了看,android手机 ... -
adb server is out of date. killing...
2012-06-17 17:20 8040在cmd窗口输入adb shell 或 adb connect ... -
JAVA 回调
2012-06-12 11:35 926熟悉MS-Windows和X Windows ... -
Class is not accessible due to restriction on required library
2012-06-03 12:13 997How to solve This error messag ... -
Column 'id' in field list is ambiguous
2012-04-23 18:20 7653Column 'id' in field list is am ... -
java.util.ConcurrentModificationException
2012-04-01 16:24 0工作中碰到个ConcurrentModificationExc ... -
在Spring框架下获取Bean的方式总结
2012-04-01 16:23 0众所周知,Spring框架将D ... -
普通Java类获取Spring的Bean的方法
2012-04-01 16:18 1317在SSH集成的前提下。某 ... -
android 调用系统图片浏览器并返回图片路径
2012-04-01 15:56 2525调用系统图片浏览器的方法如下: Intent intent ... -
网络编程中Nagle算法和Delayed ACK的测试
2012-03-31 16:43 1421Nagle算法 的立意是良 ... -
ibatis的remapResults属性合理运用
2012-03-31 15:51 1481Proper Usage of remapResults=&q ... -
response.setHeader()下载中文文件名的设置
2012-03-31 15:44 104191. HTTP消息头 (1)通用信息头 即能用于请求消息中 ... -
判断当前操作系统是不是window
2012-03-19 09:08 1594/** * 判断当前操作系统是不是window * * ... -
freemarker数字格式化
2012-03-17 16:53 3045freemarker在解析数据格式的时候,自动默认将数字按3为 ... -
数据库时客户端提示 Cannot proceed because system tables used by Event Scheduler
2012-02-29 21:13 9887在打开数据库或者用数据库管理工具(Navicat)时客户端提示 ... -
Socket用法详解
2012-02-22 16:49 1130一、构造Socket Socket的构造方法有以下几种重 ... -
在任意位置获取应用程序Context
2012-02-16 10:53 1029Android程序中访问资源时需要提供Context,一般来说 ... -
MYSQL索引优化和in or替换为union all
2012-02-07 17:08 1270使用UNION ALL代替OR,这不是绝对的。具体什么时候选择 ... -
dwr同步问题
2012-02-06 22:58 867想要异步的时候,想要同步的时候同步,在不同的情况下我们有不同的 ... -
DWR 原理简单介绍
2012-02-06 15:07 3687使用DWR已经好长一段时 ...
相关推荐
在Java编程环境中,获取CPU占用率是常见的系统监控任务,这对于性能分析、故障排查或资源管理至关重要。要实现这一功能,通常需要利用Java提供的操作系统接口,例如Java Management Extensions (JMX) 或者 sun.misc...
从给定的部分内容中可以看到,`top`命令显示PID为2633的Java进程CPU占用率为300%。这表明该进程内部存在严重的问题,导致了CPU资源的过度消耗。 2. **使用ps命令获取线程详情**: ```shell [root@localhost logs]...
了解这些因素后,我们可以通过以下方法控制CPU占用率: 1. **优化代码**:针对CPU密集型任务,可以使用更高效的算法,减少不必要的计算。例如,使用哈希表替代线性搜索,减少循环次数等。 2. **调整线程数量**:...
标题“CPU占用高”指的是计算机或服务器的中央处理器在运行过程中...通过以上分析,我们可以根据具体情况采取相应的解决措施,降低CPU占用率,提高系统性能。记住,持续监控系统状态和定期维护是预防CPU占用高的关键。
通过输入`top`命令,我们可以看到各个进程的CPU和内存使用率,从中找出CPU占用率最高的Java进程。记下该进程的PID(进程ID)。 2. **获取问题线程的TID** 接下来,我们需要找出这个进程中的具体哪个线程导致了CPU...
Java标准库虽然提供了诸如堆栈大小的测量方法,但并不直接支持测量Java进程在操作系统中的CPU占用率和内存使用量。为解决这个问题,开发者通常需要借助于操作系统级别的接口,如JNI(Java Native Interface)来获取...
CPU占用率检测模块是计算机系统监控中的重要组成部分,主要用于实时监测和分析计算机处理器的使用情况。这个模块能够帮助用户理解系统的性能瓶颈,优化系统资源分配,以及排查可能导致系统响应变慢或卡顿的问题。...
通过以上方法,你可以深入了解Linux下Java进程及线程对CPU的占用情况,从而进行问题定位和性能优化。在实际操作中,通常会结合多个工具和方法,以便从不同角度全面分析。记得,持续监控和分析是找出问题的关键。
当Java进程CPU占用率过高时,可能的原因包括无限循环、线程阻塞、计算密集型任务或垃圾回收问题等。`44974.stack`文件很可能包含了Java线程堆栈跟踪,通过分析这个文件,我们可以看到各个线程的状态和它们正在执行...
在本文中,我们将讨论 Java 应用程序 CPU 占用率过高的原因、分析方法和解决方法。 一、Java 应用程序 CPU 占用率过高的原因 1. Poor Programming Practices:糟糕的编程实践是 Java 应用程序 CPU 占用率过高的...
在Java开发过程中,有时会遇到项目运行时CPU占用率达到100%的问题,这可能是由于某个线程的无限循环、阻塞或者资源消耗过大导致的。以下是一套详细的排查步骤来帮助你找出是哪个jar包的哪个线程造成了这个问题。 ...
4. **分析JStack日志**:打开`jstack.log`,寻找CPU占用率高的线程。线程堆栈中显示的调用路径就是当前正在执行的代码路径。如果某个线程的堆栈中有很多重复的调用,那很可能就是问题所在。 5. **代码审查**:根据`...
#### 二、查看每个进程CPU占用率的方式 在Android平台上,可以通过多种方式来查看每个进程的CPU占用率。下面将逐一介绍这些方法: ##### 1. 使用`adb shell top` `adb shell top`命令是查看系统当前运行进程及其...
- **对于 Linux 系统**:通过读取 `top` 命令的输出来获取 CPU 占用率。 ##### `getMonitorInfoBean` 该方法用于构造一个 `MonitorInfoBean` 对象,用于返回系统的监控信息,如内存使用情况、CPU 使用率、线程数量...
在某个生产环境的Java进程中,CPU占用率达到300%。首先,通过`ps -mp 2633 -o THREAD,tid,time | sort -rn`找到CPU使用率最高的线程(TID 3626)。接着,将3626转换为16进制(e18),再用`jstack 2633 | grep "e18" ...
需要注意的是,这仅仅是JVM内部线程的CPU使用情况,并不包括操作系统和其他进程的CPU占用。 为了更好地监控系统资源,Java还提供了`java.lang.management`包下的其他MXBean,如`MemoryPoolMXBean`,它用于获取各个...
这些工具不仅能提供总体的CPU利用率,还能细分到各个进程,以便分析哪个程序占用了大量的CPU资源。 在编程层面,可以使用各种编程语言的库来实现动态显示CPU利用率。例如,Python有psutil库,Java有Java Management...
以下代码展示了如何获取当前Java进程的CPU使用率和内存占用: ```java import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryUsage; ...