Hệ điều hành 03/09/2026 8 phút

Định đo cache-miss bằng perf, máy ảo trả 'No such file': khi công cụ báo lỗi lại là dữ liệu trung thực nhất

Định dùng perf đo cache-miss, nhưng mọi bộ đếm phần cứng trả ENOENT — máy ảo trên Apple Silicon không mở PMU cho guest. Bộ đếm phần mềm vẫn chạy vì nhân tự đếm. Không có counter thì suy hiệu ứng qua thời gian: truy cập ngẫu nhiên chậm 2,4 lần tuần tự. Một 'không đo được' trung thực hơn một con số bịa.

Hệ điều hành 03/09/2026 9 phút

26 mili giây hoá 7 giây khi tôi bật strace: cái kính hiển vi tôi suýt dùng làm đồng hồ bấm giờ

strace bẫy mỗi syscall bằng ptrace — 200.000 lời write từ 26 ms phồng thành 7144 ms, chậm 270 lần. Cột 'seconds' của strace -c báo write tốn 0,73 giây trong khi cả chương trình chỉ 26 ms: đó là thời gian dưới ptrace, không phải chi phí thật. Kính hiển vi để THẤY, không phải đồng hồ để đo.

Hệ điều hành 03/09/2026 8 phút

File 0 byte mà cat ra cả trăm ký tự, và CPU của tôi mãi bằng 0: hai điều /proc dạy tôi về chữ 'self'

/proc không phải file trên đĩa — nhân sinh nội dung tại chỗ mỗi lần đọc (nên stat báo 0 byte). Tôi đọc /proc/self/stat để xem CPU mình tăng, mãi được 0/0: self là kẻ đang đọc, không phải chương trình tôi nghĩ. Bốn trạng thái R/S/D/Z và cách chẩn đoán không cần cài gì.

Hệ điều hành 03/09/2026 8 phút

Cùng một vòng lặp: đo một lần ra 0,459ms, nhưng đuôi tới 2,072ms — và số đẹp là số nói dối

Cùng một vòng lặp: đo một lần ra 0,459ms nhưng đuôi tới 2,072ms (gấp 4 lần); -O2 gấp 2 tỉ vòng thành 0,000042ms (bất khả — trình biên dịch xóa vòng lặp). Bài chốt sê-ri Hệ điều hành: một phép đo là giả thuyết phải tra hỏi, không phải chân lý để tin — số quá đẹp đáng nghi ngang số quá xấu.