Tagged articles
33 articles
Page 1 of 1
BirdNest Tech Talk
BirdNest Tech Talk
Mar 7, 2025 · Operations

Master Linux Debugging: How to Use Strace for Deep System Call Insight

This guide explains what strace is, how it leverages ptrace to intercept system calls, shows installation steps, demonstrates basic and advanced usage patterns, discusses real‑world scenarios, interprets output formats, highlights performance trade‑offs, and compares alternative tracing tools.

System Callslinux debuggingperformance analysis
0 likes · 9 min read
Master Linux Debugging: How to Use Strace for Deep System Call Insight
Liangxu Linux
Liangxu Linux
Jan 21, 2025 · Fundamentals

How Does strace Peek Inside Other Processes? A Deep Dive into ptrace

This article explains the inner workings of the classic strace command by walking through a hand‑crafted C program that uses ptrace to attach to a target process, set syscall tracing, wait for signals, read the ORIG_RAX register, and translate syscall numbers into readable names, while also discussing the performance impact of such tracing.

LinuxSystem Callsptrace
0 likes · 16 min read
How Does strace Peek Inside Other Processes? A Deep Dive into ptrace
Code Ape Tech Column
Code Ape Tech Column
Nov 3, 2023 · Backend Development

Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools

After migrating a project to the MDP framework based on Spring Boot, the author observed swap overuse and physical memory far exceeding the 4 GB heap; using JVM native memory tracking, gperftools, strace, pmap, and a custom allocator, they traced a native‑memory leak to Spring Boot’s ZipInflaterInputStream during JAR scanning and resolved it by limiting scan paths.

JVMNative MemorySpring Boot
0 likes · 12 min read
Diagnosing Excessive Native Memory Usage in a Spring Boot Application Using JVM Native Memory Tracking and System Tools
Code Ape Tech Column
Code Ape Tech Column
Sep 21, 2022 · Backend Development

Investigating Excessive Native Memory Usage in a Spring Boot Application Migrated to MDP Framework

After migrating a project to the MDP framework based on Spring Boot, the system repeatedly reported high swap usage despite a 4 GB heap configuration, leading to an investigation that uncovered native memory consumption caused by unchecked JAR scanning and allocator behavior, which was resolved by limiting scan paths and updating Spring Boot's inflater implementation.

JVMNative MemorySpring Boot
0 likes · 12 min read
Investigating Excessive Native Memory Usage in a Spring Boot Application Migrated to MDP Framework
Top Architect
Top Architect
May 10, 2022 · Backend Development

Diagnosing Excessive Swap Usage in a SpringBoot Project: Memory Profiling and Native Memory Analysis

The article details a step‑by‑step investigation of a SpringBoot application that repeatedly triggered high swap usage, describing how JVM parameters, native memory tracking, gperftools, strace, and custom memory allocators were used to pinpoint and resolve off‑heap memory leaks caused by the Inflater implementation and glibc memory pools.

JVMNative MemorySpringBoot
0 likes · 12 min read
Diagnosing Excessive Swap Usage in a SpringBoot Project: Memory Profiling and Native Memory Analysis
Liangxu Linux
Liangxu Linux
Apr 19, 2021 · Backend Development

Debug Linux Core Dumps with dmesg, addr2line, gdb, and strace

This guide explains how to enable core dumps on Linux, examine the generated core file, and pinpoint the exact source line of a crash using dmesg, addr2line, gdb, and strace, with concrete command examples and code snippets.

Backendaddr2linecore-dump
0 likes · 8 min read
Debug Linux Core Dumps with dmesg, addr2line, gdb, and strace
Liangxu Linux
Liangxu Linux
Sep 20, 2020 · Fundamentals

Master Linux Process Debugging: From ps to gdb and /proc

This guide walks you through Linux process fundamentals and equips you with practical commands—ps, strace, pstack, pstree, gdb, and /proc file inspection—to diagnose, trace, and debug running programs step by step.

Linuxdebugginggdb
0 likes · 10 min read
Master Linux Process Debugging: From ps to gdb and /proc
Top Architect
Top Architect
Jul 29, 2020 · Backend Development

Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework

The article details a step‑by‑step forensic analysis of why a Spring Boot application migrated to the MDP framework consumed far more physical memory than its configured 4 GB heap, uncovering off‑heap allocations caused by native code, package‑scanning, and glibc memory‑pool behavior, and explains how limiting scan paths or upgrading Spring Boot resolves the issue.

JVMMemory DebuggingNative Memory
0 likes · 12 min read
Investigation of Excessive Off‑Heap Memory Usage After Migrating a Spring Boot Project to the MDP Framework
Liangxu Linux
Liangxu Linux
May 14, 2020 · Information Security

Master Linux Binary Analysis: 10 Essential Commands Explained

This guide introduces ten fundamental Linux commands—file, ldd, ltrace, strace, hexdump, strings, readelf, objdump, nm, and gdb—explaining how each tool reveals a binary's type, dependencies, function calls, raw bytes, symbols, and runtime behavior for effective reverse‑engineering and debugging.

binary analysisfile commandgdb
0 likes · 14 min read
Master Linux Binary Analysis: 10 Essential Commands Explained
Liangxu Linux
Liangxu Linux
May 13, 2020 · Operations

Essential Linux Debugging Commands Every Developer Should Know

This guide introduces a collection of classic Linux debugging utilities—including file, ldd, ltrace, hexdump, strings, readelf, objdump, strace, nm, and gdb—explaining their purpose, typical usage, and providing concrete command‑line examples to help developers troubleshoot binaries and libraries efficiently.

command-linedebugginggdb
0 likes · 19 min read
Essential Linux Debugging Commands Every Developer Should Know
Huawei Cloud Developer Alliance
Huawei Cloud Developer Alliance
Nov 8, 2019 · Operations

Boost Network Performance on Kunpeng CPUs: Tuning Tips & Tools

This guide explains how to improve network subsystem performance on Kunpeng processors by using tools such as ethtool and strace, adjusting PCIe payload size, binding NIC interrupts to NUMA‑local cores, tweaking interrupt coalescing, enabling TSO, and replacing select with epoll for high‑concurrency workloads.

KunpengNUMANetwork Tuning
0 likes · 12 min read
Boost Network Performance on Kunpeng CPUs: Tuning Tips & Tools
NetEase Game Operations Platform
NetEase Game Operations Platform
Jan 30, 2019 · Operations

Effective Python Debugging Techniques: Print, Logging, IDE Debuggers, GDB, Perf, Strace, and Inject Debugger

This article explores practical Python debugging methods—from simple print statements and structured logging to powerful IDE debuggers, GDB, perf, strace, and the inject debugger pylane—providing code examples, best‑practice guidelines, and tips for improving observability and performance in production systems.

debugginginject-debuggerlogging
0 likes · 20 min read
Effective Python Debugging Techniques: Print, Logging, IDE Debuggers, GDB, Perf, Strace, and Inject Debugger
Meituan Technology Team
Meituan Technology Team
Jan 3, 2019 · Backend Development

Investigation of Excessive Native Memory Usage After Migrating to Spring Boot

After moving to Spring Boot, the application consumed up to 7 GB of native memory because Meituan’s MCC package scanner invoked Spring’s ZipInflaterInputStream, which allocated large off‑heap buffers during JAR decompression that were only freed by the JVM finalizer and retained by glibc’s 64 MB arenas; restricting the scan scope or upgrading to Spring Boot 2.0.5 eliminated the excess usage.

JVMNative MemoryPerformance debugging
0 likes · 13 min read
Investigation of Excessive Native Memory Usage After Migrating to Spring Boot
ITPUB
ITPUB
Jan 17, 2018 · Operations

How to Diagnose High CPU Usage in a Linux Gateway Process

This guide walks through a systematic troubleshooting workflow for a Linux gateway that spikes to 891% CPU, using top to locate the offending process, inspecting thread usage, capturing stack traces with gstack, dumping core files, tracing system calls with strace, and analyzing the core dump in gdb to pinpoint the poll() call causing the load.

CPULinuxdebugging
0 likes · 5 min read
How to Diagnose High CPU Usage in a Linux Gateway Process
ITPUB
ITPUB
Nov 9, 2016 · Operations

Diagnosing and Resolving High CPU Usage in a Linux Gateway Process

This article walks through a real‑world remote debugging session where a high‑CPU issue in a gateway service was reproduced, analyzed with top, gstack, gcore, strace and gdb, and traced to a buffer overflow causing an infinite loop, then fixed.

CPUOperationsgdb
0 likes · 7 min read
Diagnosing and Resolving High CPU Usage in a Linux Gateway Process
Efficient Ops
Efficient Ops
May 23, 2016 · Operations

Mastering strace: Diagnose Linux Process Issues with Real-World Examples

This article explains what strace is, how it works, and provides step‑by‑step examples—including fixing a failed service start, tracing nginx, diagnosing process crashes, shared‑memory errors, and performance analysis—to help operations engineers quickly locate and resolve Linux system problems.

LinuxOperationsdebugging
0 likes · 18 min read
Mastering strace: Diagnose Linux Process Issues with Real-World Examples
Qunar Tech Salon
Qunar Tech Salon
Oct 26, 2015 · Operations

Diagnosing High CPU Usage in PHP Processes with strace

This article demonstrates how to use strace, including its -c, -T, and -e options, to identify kernel‑level system calls such as clone that cause high CPU consumption in PHP processes on a Linux server, providing step‑by‑step commands and interpretation of the results.

LinuxPHPPerformance debugging
0 likes · 4 min read
Diagnosing High CPU Usage in PHP Processes with strace