proc_pid_io(5) File Formats Manual proc_pid_io(5)

/proc/pid/io - آمار ورودی/خروجی (I/O)

/proc/pid/io (از لینوکس 2.6.20)
این پرونده حاوی آمارهای ورودی/خروجی (I/O) برای فرایند و فرزندانی است که منتظر پایان آن‌ها مانده است؛ برای نمونه:

# cat /proc/3828/io
rchar: 323934931
wchar: 323929600
syscr: 632687
syscw: 632675
read_bytes: 0
write_bytes: 323932160
cancelled_write_bytes: 0

فیلدها به شرح زیر هستند:
تعداد بایت‌هایی که توسط فراخوانی‌های سیستمی موفق read(2) و موارد مشابه بازگردانده شده‌اند.
تعداد بایت‌هایی که توسط فراخوانی‌های سیستمی موفق write(2) و موارد مشابه بازگردانده شده‌اند.
تعداد فراخوانی‌های سیستمی «خواندن پرونده»—از خانواده read(2)، sendfile(2)، copy_file_range(2) و ioctl(2) BTRFS_IOC_ENCODED_READ[_32] (از جمله مواردی که توسط هسته به عنوان بخشی از دیگر فراخوانی‌های سیستمی فراخوانده می‌شوند).
تعداد فراخوانی‌های سیستمی «نوشتن پرونده»—از خانواده write(2)، sendfile(2)، copy_file_range(2) و ioctl(2) BTRFS_IOC_ENCODED_WRITE[_32] (از جمله مواردی که توسط هسته به عنوان بخشی از دیگر فراخوانی‌های سیستمی فراخوانده می‌شوند).
تعداد بایت‌هایی که واقعاً از لایه ذخیره‌سازی واکشی شده‌اند. این مقدار برای سیستم‌فایل‌های مبتنی بر بلوک دقیق است.
تعداد بایت‌هایی که واقعاً به لایه ذخیره‌سازی ارسال شده‌اند.
آمارهای فوق عمل کوتاه‌سازی (truncation) را در نظر نمی‌گیرند: اگر فرایندی ۱ مگابایت در یک پرونده معمولی بنویسد و سپس آن را حذف کند، ۱ مگابایت مذکور نوشته نخواهد شد، اما با وجود این به عنوان ۱ مگابایت نوشتن به حساب خواهد آمد. این فیلد نشان‌دهنده تعداد بایت‌های «صرفه‌جویی‌شده» از بازنویسی ورودی/خروجی (I/O writeback) است. در صورتی که حافظه‌های موقت کثیف‌شده (dirtied) توسط فرایندی دیگر کوتاه شوند، این امر می‌تواند به انجام ورودی/خروجی منفی منجر شود. مقدار cancelled_write_bytes برای ورودی/خروجی‌هایی اعمال می‌شود که پیش‌تر در write_bytes به حساب آمده‌اند.
مجوز دسترسی به این پرونده توسط حالت دسترسی PTRACE_MODE_READ_FSCREDS در ptrace(2) تعیین می‌شود.

این شمارنده‌ها اتمیک نیستند: در سیستم‌هایی که در آن‌ها ممکن است عملیات روی اعداد صحیح ۶۴ بیتی دچار گسستگی (tear) شود، یک شمارنده می‌تواند هم‌زمان با یک خواندن به‌روزرسانی شود، که منجر به ایجاد مقداری میانی و نادرست خواهد شد.

getrusage(2)، proc(5)

2026-02-08 Linux man-pages 6.19