主题 06:如何高效地排查 Java 系统异常

1. 引言

作为软件工程师,对于衡量系统性能的常用指标:CPU 使用率、系统负载(Load)、响应时间(RT)、每秒查询率(QPS)、并发数等,应该不陌生。通过这些指标可以量化地评价系统的状态,当系统在运行中出现问题时,这些表征系统性能的指标通常也会出现异常,从而有助于定位问题。更重要的是,大多数情况下,在系统问题爆发之前,某些指标就会显示异常,从而起到预警作用,为排查、解决问题争取时间。理解系统性能指标、掌握排查系统问题的方法,是软件工程师进阶的必备技能。

本文主要内容:

  • 详解 CPU 使用率分析及其异常排查方法
  • 详解系统负载(Load)分析及其异常排查方法
  • 详解内存使用率分析及其异常排查方法

2. CPU 使用率分析和异常排查

2.1 预备知识

1. CPU 时间片

CPU 时间片,即 CPU 分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,则 CPU 将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则 CPU 当即进行切换,而不会造成 CPU 资源浪费。

目前,计算机搭载的操作系统,如 Windows、Linux 等都是“多任务操作系统”,即可以“同时”执行多个任务,对于用户来说,就是可以“同时”执行多个应用程序,如“同时”看视屏和 QQ 聊天。事实上,这里的“同时”并不是真正意义上的同

你可能感兴趣的:(工程师实战方法论核心,12,讲)