20261 post

  1. Debugging a systemd service without guessing

    A repeatable path from failed unit to useful evidence using systemctl, journalctl, exit status, and the unit's real runtime context.

    9 min

Notes

  1. ldd may run the binary you are inspecting

    ldd is not a parser. It is a shell script that asks the dynamic loader to trace itself — normally by running the loader with --list, and in some versions and…

    TIL
  2. Core dumps are free until you need one

    The kernel refuses to write core dumps by default (RLIMIT_CORE starts at 0), which is why production crashes usually leave nothing behind. systemd raises that…

    TIL
  3. Find and kill the process using a TCP port

    When a port is already in use, find who owns it before reaching for a reboot: ss -ltnp shows the PID in the users:(...) column (use sudo to see other users'…

    TIL
  4. perf counts, perf samples — pick the right one

    perf has two modes and they answer different questions. Decide which one you are asking before you collect anything. Count when the question is how much:…

    TIL
  5. Deleted files can still fill a disk

    When df says a filesystem is full but du can't find the space, a process is usually holding a deleted file open. The blocks aren't freed until the last file…

    TIL
  6. Measure durations with the monotonic clock

    Linux has several clocks, and mixing them up is a reliable way to ship a bug that only appears in production. CLOCK_REALTIME is the wall clock: NTP,…

    TIL