Top Open Source Linux Performance & Debugging Tools
Master open-source Linux performance profiling and debugging tools: trace system calls with strace, profile CPU with perf, and find memory leaks.
Learn
Practical tutorials and deep explanations grounded in reproducible environments, exact versions, and observable results.
Start learning your way
Learn by technology
Learning resources
Structured tutorials
Existing library
Master open-source Linux performance profiling and debugging tools: trace system calls with strace, profile CPU with perf, and find memory leaks.
Measure USB flash drive write and read speed on Linux: benchmark block performance using dd count=1000 bs=1M status=progress and hdparm.
Test Linux kernel framebuffer drivers in C: open /dev/fb0, fetch screen dimensions via FBIOGET_VSCREENINFO ioctl, and paint pixels via mmap().
Enable Direct Rendering Manager (DRM) kernel debug logging: set drm.debug=0x1f boot parameter, inspect dmesg, and debug display stack output.
Get exact file byte sizes in C on Linux: use stat() system call and inspect st_size from struct stat without opening file descriptors.
Define enumeration constants in C: assign integer values to enum, implement finite state machines, and compare enum vs #define constants.
Format and parse strings in C: master sprintf(), sscanf(), buffer bounds checking with snprintf(), and integer/float string conversions.
Master C preprocessor macros: define constants, write conditional header guards #ifndef, inspect gcc -E preprocessing, and compare macros vs inline functions.
Define parameterized macros in C using #define: master expression expansion, parenthesize macro arguments to prevent operator precedence bugs.