Analyzing Java Thread Dumps

Analyzing Java Thread Dumps
Analyzing Java Thread Dumps
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1h 35m | 323 MB

Thread dumps are one of the most valuable tools a troubleshooter can have in their toolset. This course will teach you everything there is to know about Java thread dumps, and familiarize you with other popular advanced troubleshooting tools.

When troubleshooting software, you either know precisely what the problem is, or you don’t know anything at all. As programs become smarter and faster, troubleshooting with precision is becoming more and more challenging. In this course, Analyzing Java Thread Dumps, you will learn foundational knowledge of analyzing Java thread dumps and gain the skills required for tackling complex issues with confidence. First, you will learn how to read a thread dump, and how a thread dump is structured. Next, you will discover just how indispensable thread dumps are when you need to dig deeper into an issue, and how they can consistently put you ahead of the problem. Finally, you will see how to gather valuable, thread-oriented analytics from the operating system itself using tools such as “top”, “strace”, “lsof”, and more. When you’re finished with this course, you will have the skills and knowledge needed to troubleshoot the most complex software issues that come your way.

Table of Contents

01 Course Overview
02 Introduction
03 What Is a Thread Dump
04 Thread Call Stacks
05 Capturing Thread Dumps
06 Demo
07 Introduction
08 The Structure of a Thread Dump
09 Inspecting Individual Threads
10 Thread States
11 Native Methods
12 Introduction
13 Filesystem Read_write Mechanics in Java
14 The Demo Code, Part 1
15 The Demo Environment Linux ״cgroups״
16 The Demo Code, Part 2
17 Demo Part 1 The Problem
18 Demo Part 2 Thread Stagnation
19 Demo Part 3 Debunking Thread Stagnation
20 Demo Part 4 Using ‘Top’ to Find I_O-bound Processes
21 Introduction
22 What Is a Deadlock
23 Connection Pools
24 Intro to the Demo Bearer Authentication
25 The Code and the Problem
26 Capturing the Thread Dump
27 Analyzing the First Thread
28 The Code Part 1 The Loading Cache
29 The Code Part 2 HTTP Connections
30 The Code Part 3 The Loading Cache Read-lock
31 Analyzing the Second Thread
32 Summary and Conclusions
33 Introduction
34 Gathering Thread CPU and Memory Utilization
35 Finding How I_O-bound a Thread Is
36 File Descriptors Filesystem Handles
37 Finding TCP Connections Started by a Thread