`

Java问题处理思路

    博客分类:
  • JAVA
 
阅读更多

生产环境处理问题小结:

顺着上边的思路,我回家看了一些资料,资料表明当性能出现问题的时候无外乎从四个大的方面入手:CPU、内存、文件IO、网络IO

我们可以使用TOP命令可以来分析当前CPU使用情况。在TOP中分别有:ussywahi4个指标,这4个指标分别代表是:

1、 cpu:应用消耗,当us高的时候一般是我们代码问题,比如代码中出现了象这次故障的死循环,或许还有可能是纯粹计算或者FullGC遇成。

2、  sylinux系统消耗,当sy高时证明系统在花大量时间做线程切换,证明我们Java应用中启动了大量线程,并且这些线程都处于阻塞状态和执行状态的切换过程(锁等待、IO等待)

3、  wa:代表的是IO等待,当wa高可能是由系统或者应用造成,应用造成wa高一般是由多个线程同时对一个文件进行大量写入,或者是磁盘本身就有问题了,还有一种情况是写入的文件本身非常大等造成的。

4、  hi:硬件中断造成的,例如网卡接收数据频繁。

网络IOJava在网络通信时,一般会先将对象序列化为字节流,进行发送,或者是接收字节流并反序列化,这个过程要消耗JVM的堆内存,按资料上的意思是JVM的堆内存大小是有限的,所以一般不会造成网络IO的严重消耗。

以上几种情况 ,我们都可以借助Jstack工具把JVM的线程给Dump出来,可以分析那些线程在等待,那些线程在IO读写,那些线程在死循环。

                            还有一些其它的工具可以帮助我们详细的分析这些状况:pidstatiostatsar jmap

当出现问题的时候,我们可以根据某一个指标的数值去有方向的定位问题。

 

参考资料:毕玄的分布式Java应用 第五章,书上写的比较详细,并且有实际案例性能调优,大家有时间可以详细看一下。

分享到:
评论

相关推荐

    16个经典面试问题回答思路(Java方面的)

    以下就是16个经典Java面试问题及其回答思路,旨在帮助你充分准备,展现你的专业技能。 1. **问题1:解释Java是什么?** 回答思路:Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems(现为Oracle公司)...

    java处理海量数据的初步解决思路

    在Java编程中,处理海量...总的来说,Java处理海量数据涉及内存管理、分片处理、流式计算、数据库优化以及利用开源工具等多个方面。理解这些概念和技术,并结合实际问题灵活运用,能有效地提升大数据处理的效率和性能。

    java 高并发解决 思路

    在Java编程领域,高并发处理是一项至关重要的技术,特别是在构建大型、高性能的互联网应用时。本文将基于"java 高并发解决思路"这一主题,深入探讨相关知识点,并结合"高并发web架构.pdf"文档中的实例进行阐述。 1....

    java音频处理技术

    本文将通过设计和构造一个支持实时 MP3、WAV 和 Ogg 音频格式解码/回放的 Java 音乐播放器,阐述用 JavaSound API 编写音频处理程序的思路和一般过程。 Java音频处理技术是指使用Java语言实现音频播放、处理和存储...

    通用权限管理系统java权限处理及其实现思路

    "通用权限管理系统Java权限处理及其实现思路" 在B/S系统中,权限管理是一个非常重要的方面,因为浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易...

    java 方法的流程控制与异常处理

    - **熟练掌握Java各种流程控制结构(选择结构、循环结构)的使用**:通过对不同的循环结构的应用,让学生能够灵活运用`if`、`switch`、`while`、`do...while`、`for`等结构来解决实际问题。 - **了解Java的异常处理...

    java事件处理机制

    Java事件处理机制是Java GUI编程中的重要组成部分,它允许用户与图形界面进行交互。在Java中,事件处理涉及事件源(Event Source)、事件(Event)和事件监听器(Event Listener)。当用户执行某个操作,如点击按钮...

    java 小程序及其算法实现思路

    7. **异常处理**:Java中的异常处理机制使得程序更加健壮。理解何时抛出异常,如何捕获和处理异常,以及如何使用try-catch-finally语句块,对于编写稳定可靠的程序至关重要。 8. **面向对象设计**:良好的面向对象...

    java开发思路

    下面将对这些信息进行详细的解析,并围绕“Java开发思路”这一主题展开深入探讨。 ### Java开发思路概述 Java作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。无论是企业级应用还是移动应用开发...

    java图形图象处理(论文+系统)

    你还需要阐述你的系统设计思路,包括选用的技术栈、系统的架构设计、模块划分,以及如何解决遇到的问题。 在实际开发过程中,你可能会使用到一些开源库,如OpenCV for Java,它提供了更高级的图像处理功能,如人脸...

    java一次性查询处理几百万数据解决方法

    ### Java一次性查询处理几百万数据解决方法 在Java开发中,处理大数据量是常见的需求之一,特别是当数据规模达到几百万级别时,如何高效、稳定地处理这些数据变得尤为重要。本文将详细介绍一种Java一次性查询处理几...

    项目教学法的设计——以java事件处理机制为例.pdf

    下面,我们将通过java事件处理机制为例,介绍项目教学法的设计思路和实施效果。 一、项目教学法的概念 项目教学法是一种基于项目的学习方法,它强调学生的主动参与和实践经验。这种方法可以让学生更好地理解和掌握...

    JAVA开发一个简单的爬虫的思路1

    在JAVA开发一个简单的爬虫的...总结来说,开发Java爬虫需要掌握HTTP协议、HttpClient库的使用、HTML解析(如Jsoup)以及基本的异常处理和资源管理技巧。通过实践和理解这些知识点,你将能够构建出自己的Java爬虫程序。

    JAVA实现(JAVA图像处理)

    《JAVA实现(JAVA图像处理)》这本书专注于Java语言在图像处理领域的应用,特别是数字水印技术。数字水印是一种将特定信息隐藏在图像中,以保护版权或进行数据验证的技术。书中详细阐述了如何使用Java来实现这一技术...

    Java千万级别数据生成文件思路和优化

    一年前写过一个百万级别数据库数据生成配置xml文件的程序,程序目的是用来把数据库里面的数据生成xml文件....最近几天现场催的比较紧,最近抽空把这个问题处理了一下,在解决问题的过程中我把解决的步骤和方法记

    java经典问题.rar

    Java编程语言自1995年...这份"java经典问题.doc"文档可能详细讨论了以上部分或全部知识点,并提供了实例解析和解题思路,是Java初学者和进阶者提升技能的好资料。通过深入学习和实践,可以更好地掌握Java编程的精髓。

Global site tag (gtag.js) - Google Analytics