ATOPACCTD(8) System Manager's Manual ATOPACCTD(8)

atopacctd - دیمن حسابداری پردازه‌ها

atopacctd [-v | topdirectory]

دیمن atopacctd قابلیت حسابداری پردازه‌ها (process accounting) را در هسته فعال می‌کند و اجازه می‌دهد رکوردهای حسابداری پردازه‌ها درون فایلی نوشته شوند که از این پس فایل منبع نامیده می‌شود. پس از فعال شدن حسابداری پردازه‌ها، دیمن atopacctd هر رکورد حسابداری پردازه موجود در فایل منبع را به یک فایل سایه (shadow file) منتقل می‌کند. پردازه‌های کلاینت (مانند پردازه‌های atop) به جای فایل منبع حسابداری پردازه‌ها، فایل‌های سایه را می‌خوانند.
بدین ترتیب، دیمن atopacctd به عنوان یک «لایه» بین فایل حسابداری پردازه‌های نوشته‌شده توسط هسته و فایل‌های حسابداری سایه که توسط پردازه‌های atop خوانده می‌شوند، عمل می‌کند.

این رویکرد مزایای زیر را دارد:

دیمن atopacctd مراقبت می‌کند که حجم فایل منبع در اندازه‌ای محدود نگه داشته شود. به محض رسیدن به حداکثر اندازه مجاز، اندازه آن مجدداً به صفر بریده (truncate) می‌شود (پردازه‌های atop متوجه این موضوع نمی‌شوند).
دیمن atopacctd مراقبت می‌کند که یک فایل سایه در اندازه‌ای محدود نگه داشته شود. به محض رسیدن فایل سایه فعلی به این حداکثر اندازه، دیمن atopacctd یک فایل سایه جدید (متوالی) ایجاد می‌کند. در حالی که پردازه‌های کلاینت همچنان امکان خواندن فایل(های) سایه پیشین را دارند، دیمن atopacctd به نوشتن رکوردهای حسابداری در جدیدترین (فعلی) فایل سایه ادامه می‌دهد. به همین دلیل، نام یک فایل سایه شامل یک شماره ترتیبی ۱۰ رقمی و به دنبال آن پسوند «.paf» (فایل حسابداری پردازه) است. فایل‌های سایه قدیمی که دیگر توسط پردازه‌های کلاینت استفاده نمی‌شوند، به طور خودکار توسط جمع‌آورنده زباله (garbage collector) در دیمن atopacctd حذف می‌شوند.
هنگامی که هیچ پردازه کلاینتی فعال نباشد (یا دیگر فعال نباشد)، تمام فایل‌های سایه حذف خواهند شد و دیگر هیچ رکوردی به فایل سایه منتقل نمی‌شود. به محض اینکه دست‌کم یک کلاینت دوباره فعال شود، دیمن atopacctd به نوشتن فایل‌های سایه ادامه می‌دهد.

دایرکتوری /var/run به عنوان دایرکتوری بالادستی پیش‌فرض (topdirectory) استفاده می‌شود. در زیر این دایرکتوری، فایل منبع pacct_source ایجاد می‌شود که هسته رکوردهای حسابداری پردازه‌ها را در آن می‌نویسد.
علاوه بر این، زیردایرکتوری pacct_shadow.d به عنوان یک «ظرف» برای فایل‌های سایه ایجاد می‌شود. به غیر از فایل‌های سایه، فایل current نیز در این زیردایرکتوری نگه‌داری می‌شود که شامل شماره ترتیبی فایل سایه فعلی (جدیدترین) و حداکثر تعداد رکوردهایی است که در هر فایل سایه نوشته خواهد شد.

می‌توان یک دایرکتوری بالادستی جایگزین را به عنوان آرگومان خط فرمان مشخص کرد. هنگامی که دایرکتوری بالادستی جایگزین تعریف می‌شود، باید فایل پیکربندی /etc/atoprc را نیز تغییر داد تا به کلاینت‌های atop درباره این مکان جایگزین اطلاع داده شود (صفحه راهنمای atoprc را ببینید). چنین دایرکتوری جایگزینی باید در مالکیت root باشد و نباید برای گروه یا دیگران قابل نوشتن باشد (به دلایل امنیتی).

توجه داشته باشید که وقتی فضای خالی سیستم فایلِ حاوی فایل حسابداری پردازه‌ها به زیر ۲٪ کاهش یابد، هسته نوشتن رکوردهای حسابداری پردازه‌ها را به حالت تعلیق درمی‌آورد. زمانی که فضای خالی به ۴٪ یا بیشتر برسد، نوشتن از سر گرفته می‌شود. این درصدهای حد پایین و بالا را می‌توان از طریق شبه‌فایل /proc/sys/kernel/acct پیکربندی کرد.
دیمن atopacctd زمانی که فضای خالی سیستم فایلِ حاوی فایل حسابداری پردازه‌ها به زیر ۵٪ کاهش یابد، انتقال رکوردهای حسابداری پردازه‌ها به فایل‌های سایه را به حالت تعلیق درمی‌آورد. انتقال هنگامی که فضای خالی به ۵٪ یا بیشتر برسد از سر گرفته می‌شود. هنگامی که نوشتن در فایل سایه فعلی معلق یا از سر گرفته شود، پیام‌های ثبت وقایع از طریق syslog ایجاد می‌شوند.

گزینه -v می‌تواند برای بررسی نسخه دیمن atopacctd استفاده شود.

/var/run/pacct_source
فایل معمولی که هسته رکوردهای حسابداری پردازه‌ها را در آن می‌نویسد. این فایل به طور مرتب خالی (truncate) خواهد شد.
/var/run/pacct_shadow.d/current
فایل معمولی شامل شماره ترتیبی فایل سایه فعلی و حداکثر تعداد رکوردها در هر فایل سایه.
/var/run/pacct_shadow.d/N.paf
فایل‌های معمولی شامل رکوردهای حسابداری پردازه‌ها که به صورت شفاف از فایل منبع کپی شده‌اند (N نشان‌دهنده یک شماره ترتیبی ۱۰ رقمی است).

atop(1), atopsar(1), atoprc(5), netatop(4), netatopd(8)
https://www.atoptool.nl

Gerlof Langeveld (gerlof.langeveld@atoptool.nl)

January 2024 Linux