博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java性能调优工具
阅读量:5025 次
发布时间:2019-06-12

本文共 713 字,大约阅读时间需要 2 分钟。

windows调优工具:

    任务管理器(ctrl+alt+delete或)、资源管理器(任务管理器->性能进入或运行resmon.exe);JVM分析工具Jconsole,jProfile,VisualVM等集成工具,还有jps、jstack、jmap、jhat、jstat等小巧的工具。

Linux工具:top(多核注意CPU和负载不同)、pidstat、iostat。

常见问题:

一、CPU过高

  1、  us过高

  使用监控工具快读定位哪里有死循环,大计算,对于死循环通过阻塞式队列解决,对于大计算,建议分配单独的机器做后台计算,尽量不要影响用户交互,如果一定要的话(如框计算、云计算),只能通过大量分布式来实现;

  2、  sy过高

  最有效的方法就是减少进程,不是进程越多效率越高,一般来说线程数和CPU的核心数相同,这样既不会造成线程切换,又不会浪费CPU资源;

二、内存消耗过高

  1、  及时释放不必要的对象;

  2、  使用对象缓存池缓冲;

  3、  采用合理的缓存失效算法;

三、磁盘IO过高

  1、  异步读写文件;

  2、  批量读写文件;

  3、  使用缓存技术;

  4、  采用合理的文件读写规则;

四、网络

  增加宽带流量

五、资源消耗不多但程序运行缓慢

  1、使用并发包,减少锁竞争;

  2、对于必须单线程执行的使用队列处理;

  3、大量分布式处理;

六、未充分利用硬件资源

  1、  修改程序代码,使用多线程处理;

  2、  修正外部资源瓶颈,做业务拆分;

  3、  使用缓存;

转载于:https://www.cnblogs.com/fenghun/p/5029173.html

你可能感兴趣的文章
排序之希尔排序(shell sort)
查看>>
Linux学习之CentOS(二十一)--Linux系统启动详解
查看>>
Hadoop的体系结构之MapReduce的体系结构
查看>>
python学习(四)字符串学习
查看>>
互联网协议入门(一)
查看>>
Python自动化开发从浅入深-语言基础(常用模块)
查看>>
eclipse中properties文件编码问题
查看>>
JavaIO学习
查看>>
PHP+MYSQL网站SQL Injection攻防
查看>>
Movie
查看>>
【hdu5794】A Simple Chess
查看>>
jquery动态粒子
查看>>
时间的计算
查看>>
数据库 视图 事务 备份还原 分离附加
查看>>
[Leetcode] valid palindrome 验证回文
查看>>
什么是Ajax无刷新技术?
查看>>
【BZOJ4944】【NOI2017】泳池 概率DP 常系数线性递推 特征多项式 多项式取模
查看>>
vector的应用
查看>>
zz嵌入式Linux下Camera编程--V4L2
查看>>
初学sql server 2008之触发器
查看>>