Linux 01/09/2026 9 phút

Một syscall rỗng đắt bằng 143 lời gọi hàm — và 19 nanô giây trong đó là tiền Docker âm thầm bắt bạn trả cho seccomp

Tôi đo trên Apple M4: gọi hàm thường 0,70 ns, còn getpid() — một syscall chẳng làm gì hữu ích — tốn 100,30 ns, chênh 143 lần, toàn bộ là chi phí đi sang nhân rồi về. Bóc tách 100 ns ấy: gần 19 ns là bộ lọc seccomp Docker gắn lên mọi container, và vDSO cho thấy tránh được cú vượt biên thì clock_gettime nhanh gấp 10,7 lần.

Linux 01/09/2026 9 phút

Container không lấy đi 3% CPU của tôi — nhưng chạy nhầm kiến trúc làm memset chậm đi 174 lần, và không có 'hệ số emulation' nào cả

Cùng một file C, cùng cờ -O2, chạy ở ba nơi trên một chiếc M4: chạy thẳng, container arm64, container x86_64. Cái vỏ container gần như miễn phí với CPU và bộ nhớ. Nhưng phiên dịch kiến trúc tính tiền từ 1,76 lần tới 174 lần trong CÙNG một chương trình — không tóm tắt được thành một con số.

Linux 01/09/2026 12 phút

fork() ở RSS 1 GB chậm gấp 20 lần khi RSS gần 0 — copy-on-write vẫn phải sao bảng trang, và Transparent Huge Page giấu 16 lần chi phí đó

fork() không copy dữ liệu nhờ copy-on-write, ai cũng biết — nhưng nó vẫn sao bảng trang, và chi phí đó tỉ lệ với RSS của cha. Tôi đo fork/vfork/posix_spawn khi cha giữ tới 1 GB: fork lên 3.850 µs còn vfork/posix_spawn phẳng lì, và tắt THP làm fork chậm thêm 9,3 lần. Vì sao THP che gần hết chi phí, đo bằng con số.

Linux 01/09/2026 9 phút

Bốn sự cố khác hẳn nhau cùng cho ra một câu 'dịch vụ chậm' — nproc và loadavg không phân biệt nổi cái nào, còn một dòng cat thì chỉ đúng thủ phạm

Tôi dựng bốn hoàn cảnh khác nhau, tất cả đều biểu hiện thành 'hệ thống ì', rồi xem chỉ số nào tách được chúng. nproc trả 10 ở cả bốn, loadavg đo nhầm cả máy chủ; còn cpu.stat và PSI phân biệt tuyệt đối. Bonus: bị bóp CPU 0,3 nhân không chỉ chậm 6 lần mà còn tốn 1,81 lần CPU cho cùng một việc.