proc_pid_clear_refs(5) File Formats Manual proc_pid_clear_refs(5)

proc_pid_clear_refs - بازنشانی بیتهای PG_Referenced و ACCESSED/YOUNG در حافظه فرآیند

/proc/pid/clear_refs (از لینوکس 2.6.22)
این یک فایل فقط‌نوشتنی (write-only) است که تنها توسط مالک فرآیند قابل نوشتن می‌باشد.
مقادیر زیر را می‌توان در این فایل نوشت:
1 (از لینوکس 2.6.22)
بازنشانی بیت‌های PG_Referenced و ACCESSED/YOUNG برای تمام صفحات مرتبط با فرآیند. (پیش از لینوکس 2.6.32، نوشتن هر مقدار غیرصفری در این فایل همین اثر را داشت.)
2 (از لینوکس 2.6.32)
بازنشانی بیت‌های PG_Referenced و ACCESSED/YOUNG برای تمام صفحات ناشناس (anonymous pages) مرتبط با فرآیند.
3 (از لینوکس 2.6.32)
بازنشانی بیت‌های PG_Referenced و ACCESSED/YOUNG برای تمام صفحات نگاشت‌شده به فایل (file-mapped pages) مرتبط با فرآیند.
پاک‌سازی بیت‌های PG_Referenced و ACCESSED/YOUNG روشی برای اندازه‌گیری تقریبی میزان حافظهٔ مصرفی یک فرآیند فراهم می‌کند. ابتدا می‌توان مقادیر موجود در فیلدهای "Referenced" را برای VMAهای نمایش‌یافته در /proc/pid/smaps بررسی کرد تا تصویری کلی از ردپای حافظه (memory footprint) فرآیند به دست آید. سپس بیت‌های PG_Referenced و ACCESSED/YOUNG پاک‌سازی می‌شوند و پس از گذشت یک بازهٔ زمانی معین، مجدداً مقادیر فیلدهای "Referenced" بررسی می‌شوند تا تغییرات ردپای حافظهٔ فرآیند در طول آن بازه مشخص گردد. چنانچه تنها بررسی نوع خاصی از نگاشت‌ها مد نظر باشد، می‌توان به جای مقدار 1 از مقادیر 2 یا 3 استفاده کرد.
همچنین مقادیر دیگری را می‌توان برای تأثیرگذاری بر ویژگی‌های مختلف نوشت:
4 (از لینوکس 3.11)
پاک‌سازی بیت soft-dirty برای تمام صفحات مرتبط با فرآیند. این ویژگی (در ترکیب با /proc/pid/pagemap) توسط سیستم بازنشانی نقطه بررسی (checkpoint/restore) استفاده می‌شود تا مشخص شود کدام صفحات فرآیند از زمان آخرین نوشتن در فایل /proc/pid/clear_refs دستخوش تغییر (dirtied) شده‌اند.
5 (از لینوکس 4.0)
بازنشانی اوج اندازهٔ مجموعهٔ مقیم حافظه ("high water mark" یا بیشینهٔ RSS) به مقدار فعلی اندازهٔ مجموعهٔ مقیم (resident set size) فرآیند.
نوشتن هر مقداری به جز مقادیر فهرست‌شده در بالا در فایل /proc/pid/clear_refs هیچ اثری نخواهد داشت.
فایل /proc/pid/clear_refs تنها در صورتی وجود دارد که گزینهٔ پیکربندی هستهٔ CONFIG_PROC_PAGE_MONITOR فعال باشد.

proc(5)

2024-05-02 Linux man-pages 6.9.1