- 浏览: 520248 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
问题描述: cpu负载陡增,内存占用情况稳定。(在多cpu的情况下,比如4核,free 看到cpuload 15%,但是查看单cpu会达到 100% 负载。。。)
1分析工具jstack:
/usr/java/jdk1.6.0_13/bin/jstack -l 11831 > jstack.log // 进程 pid 号
以前 jstack 弄出来的栈文件总是不知道看些什么。通过这次问题的定位,发现 jstack 可以很快缩小排查范围。 比较适合定位线程相关的资源消耗。
核心看点:
1 检查活动状态的线程,查看提示行代码。如果不能找到问题,可以相隔几分钟从新 dump 一次,看该行是否重现。
2 在同一个 dump 文件多次出现同一个线程,提示同一行。往往会是“锁”。
2 . /usr/java/jdk1.6.0_13/bin/jmap -J-d64 -dump:live,format=b,file=heap_dump.bin 15605 // 进程 pid 号 , 文件名
dump 到的 bin 文件使用基于 eclipse 的工具“ MemoryAnalyzer ”,可以得到很完整的内存分析报告。
个人理解:仅仅是内存方面的分析,好像没办法分析 cpu 占用的东西。
3 . IDC 上,直接分析 java cpu 负载高的工具还不算多, jstack 只是说缩小排查范围,可能还需要下面这些技巧():
eclipse 的 profile 工具: http://eclipsecolorer.sourceforge.net/index_profiler.html
这个东东非常强大,可惜无法部署到 IDC 环境,也无法 dump 数据下来本机分析。对于可以在测试环境下重现的 cpu 负载高问题,可以尝试配置 profile 。
Strace http://hi.baidu.com/chinaw3/blog/item/4c5b772c39c485ee8a1399c2.html
strace
命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。
strace
显示这些调用的参数并返回符号形式的值。
strace
从内核接收信息,而且不需要以任何特殊的方式来构建内核。
下面记录几个常用
option .
1 -f -F
选项告诉
strace
同时跟踪
fork
和
vfork
出来的进程
2 -o xxx.txt
输出到某个文件。
3 -e execve
只记录
execve
这类系统调用
这个命令的威力要自己试过了才知道。。嘿嘿
Java profile 参数: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/perf3.html
cpu=samples|times|old |
CPU usage |
off |
详细情况在“ Where the Application Spends its Time ”这个小节里面。 这个页面最后也顺带介绍了一下 strace 。
发表评论
-
JVM Java HeapSpace到达临界值的高CPU问题
2011-11-10 19:27 1106本周有同事反馈,IDC环 ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1670环境说明: nginx1: 192.168.2.4 ... -
mongodb查询
2011-09-03 13:42 1055#查询 查询 name = "bruce&qu ... -
Linux网管日记(9):Linux的前世今生
2011-03-13 16:00 8711.Linux的前世 地球人 ... -
网络管理员日记(8)里应外合:Linux下的后门和日志工具
2011-03-13 15:59 1088攻入Linux系统后,很多入侵者往往就开始得意忘形了。这其中还 ... -
Linux网络管理员日记(7)更上一层楼:Linux服务器的安全实践
2011-03-13 15:58 996网络安全实践中,防火 ... -
Linux网络管理员日记(6)Linux邮件服务器的安装和安全
2011-03-13 15:57 1500四、更简单高效:Linux 邮件服务器的安装和安全 在 ... -
Linux管理员日记(5) 更简单高效:Linux邮件服务器的安装和安全
2011-03-13 15:54 1160在网络管理员的日常工作中,邮件服务器扮演着一个非常重要的角色, ... -
Linux管理日记(4)——免费而稳定:Web服务器和FTP服务器的安装
2011-03-13 15:53 1260为什么要采用Linux操作系统作为网络服务器?答案是:稳定性高 ... -
Linux管理员日记连载(3)简单易操作:类似Windows控制面板的Webmin
2011-03-13 15:52 1223安装完Linux操作系统后 ... -
Linux管理员日记连载(2)——Linux系统下的设备和文件配置
2011-03-13 15:51 998新建一个虚拟机后,除 ... -
Linux管理员日记(1)——Linux服务器傻瓜式安装完全手册
2011-03-13 15:50 1995内容简介 从桌面到服务器,从 ... -
Samba服务器的安装配置和应用
2011-03-12 14:34 1140随着计算机网络的发展 ... -
Linux 中 crontab 详解及示例(收藏)
2011-03-10 10:24 792cron是一个linux下的定时执行工具,可以在无需人工干预的 ... -
CentOS下MySql 5.0.x的安装、优化及安全设置
2011-03-07 20:24 771下载页面:http://dev.mysql.com/downl ... -
RPM强制卸载
2011-03-07 12:59 2502强制卸载jdk rpm -e j2sdk1.4.2_04 ... -
CENTOS5.2 下安装MYSQL+TOMCAT6 相关设置,设置自启动
2011-03-07 06:41 1092在SUSE SLES11 下安 ... -
用Linux下的rsync命令实现多服务器镜像同步
2011-03-06 04:08 1075用linux系统中的rsync命令 ... -
不看后悔的Linux生产服务器Shell脚本分享
2011-03-06 04:05 1390不看后悔的Linux生产服务器Shell脚本分享 作为一名L ... -
CentOS vsftp配置
2011-03-05 21:12 825yum install vsftpd 2.启动/重启/关 ...
相关推荐
- 资源优化:由于WINCE系统资源有限,应尽可能优化Java代码,减少内存占用和CPU负载。 - API适配:由于JME的API与Java Standard Edition(Java SE)有所不同,需要检查并适配使用的API是否在JME中可用。 - 性能测试...
- **配置环境变量**:在 `/etc/profile` 文件中添加相应的 JAVA_HOME、CLASSPATH 和 PATH 环境变量,并使更改立即生效。 - **验证安装**:通过 `java -version` 命令验证 JDK 的安装情况。 ##### 1.7 解决 WebLogic...
- **CPU**:建议至少配备双核处理器,对于生产环境推荐四核及以上。 - **内存**:最低 4GB,推荐 8GB 或更高。 - **硬盘空间**:确保至少有 20GB 的可用空间用于安装 WebLogic Server 和相关组件。 - **网络**:保证...
SGA是Oracle数据库中用于存储数据和控制信息的内存区域,其中Shared Pool是SGA的一部分,主要用来存储最近解析或编译过的SQL、PL/SQL以及Java代码,还包括数据字典信息。由于library cache和dictionary cache中的...
3. 堆栈分析:查看导致CPU负载高的特定堆栈轨迹。 **四、内存分析** 1. 内存分配视图:追踪对象的创建和销毁,找出内存泄漏源头。 2. 垃圾收集分析:观察垃圾回收过程,优化内存管理策略。 3. 对象生存分析:研究...
同时,注意监控系统的资源使用情况,如CPU、内存和磁盘,确保系统能够应对负载测试带来的压力。 总的来说,Linux上的JDK安装和JMeter配置涉及多个步骤,包括卸载旧版本、安装新版本、配置环境变量、设置默认JDK以及...
Load Profile 部分显示数据库负载概况,包括 Redo Size、Logical Reads、Block Changes、Physical Reads、Physical Writes、User Calls、Parses 等指标。 * Redo Size:每秒产生的日志大小(单位字节),可标志数据...
对于**服务器运维**,配置好JDK是基础,而了解如何管理和优化JVM(Java Virtual Machine)性能,监控Java应用的内存、CPU使用情况,以及日志管理等都是关键技能。此外,熟悉Linux系统的常用命令和性能监控工具(如...
如果快照周期没有覆盖数据库高负载的时段,或者快照周期过长而导致包含了大量数据库空闲时间,那么分析结果可能就无法真实反映性能问题,这会导致DBA对数据库性能的理解出现偏差。 总结来说,Oracle AWR性能分析是...
Library cache用来存储最近解析或编译过的SQL、PL/SQL和Java类等,而dictionary cache用来存储最近引用的数据字典信息。Shared Pool的管理对于数据库性能至关重要,因为cache miss发生在Shared Pool的代价比在buffer...
LSF,全称为Load Sharing Facility,是Platform公司开发的一款分布式资源管理系统,主要用于集群环境中的任务调度、监控和负载分析。它的主要目标是对集群资源进行统一的管理和调度,确保高效利用计算资源。 ### ...
接着,需要编辑用户的bash配置文件(~/.bash_profile),设置JAVA_HOME、JAVA_BIN和CLASSPATH等环境变量,并更新PATH,确保系统能够找到Java。此外,还需要创建软链接,以便在/usr/bin目录下直接使用java和javac命令...
开发者应避免内存泄漏,及时释放不再使用的对象,并优化代码以降低CPU负载。 **J2ME的挑战** 尽管J2ME有其优点,但在实际开发中也存在挑战,如设备差异性大、性能限制以及调试工具不足等。开发者需要熟悉各种设备...
- CPU使用:检查CPU是否长时间高负荷运行,即使在低负载情况下,持续的高CPU使用可能是程序执行效率低下或者存在资源争抢问题。 - 内存监控:观察内存占用情况,过高的内存使用可能导致系统性能下降,甚至出现内存...
线程过多的问题在MIDP编程中尤为突出,因为每个线程都会占用内存,并可能导致CPU负载增加,从而影响电池寿命和设备性能。当大量线程同时运行时,操作系统可能会忙于上下文切换,这会消耗额外的时间和资源,降低程序...
- **Java EE 7支持**:Tomcat 8.0实现了Java EE 7 Web Profile,提供对WebSocket、JSP 2.3、Servlet 3.1规范的支持。 - **NIO.2支持**:引入了新的Java NIO.2 API,提高了并发性能和连接管理效率。 - **更好的JAR...
AWR报告的Load Profile部分展示了重做日志大小(Redo size)、逻辑读取次数(Logical reads)、块更改次数(Block changes)和物理读取次数(Physical reads)等统计信息。这些数据有助于分析SQL语句的效率和数据库...
对Nexus的性能进行监控,如内存使用、CPU负载和磁盘空间,以确保其稳定运行。Nexus提供了内置的监控接口,也可以结合其他监控工具如Prometheus、Grafana进行集成。 通过以上步骤,你可以在Linux环境中成功安装并...
对于大型网站,可能需要更高性能的硬件以应对高并发访问。 在软件层面,Apache-Tomcat服务器的安装和配置涉及多个步骤。首先,我们需要在Linux系统上安装Java Development Kit (JDK) 1.6或以上版本。可以通过下载...
10. **集群和负载均衡**:如果需要高可用性和负载均衡,可以配置WebLogic集群。这涉及到多个WebLogic Server实例之间的通信和数据同步。 11. **监控和性能调优**:使用WebLogic内置的监控工具和JMX接口来监视服务器...