یک اسکریپت Bash بنویسید که به صورت دوره‌ای (مثلاً هر 60 ثانیه) مصرف CPU و حافظه سیستم را اندازه‌گیری کرده و با زمان‌مهر در یک فایل لاگ ذخیره کند تا برای مانیتورینگ قابل بررسی باشد.

3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:53

0.0

برای حل این مسئله از حلقه while همراه با sleep استفاده کنید، در هر تکرار با دستوراتی مثل date برای زمان‌مهر، top -b -n1 یا ps -eo pid,comm,%cpu,%mem --sort=-%cpu برای گرفتن پردازش‌های پرمصرف و free -m برای وضعیت حافظه خروجی بگیرید و با عملگر >> در فایل لاگ وارد کنید. نکات مفید: اسکریپت را می‌توان در پس‌زمینه یا با nohup اجرا کرد یا یک سرویس systemd/کرون ایجاد کرد، فایل لاگ را در مسیری مثل /var/log قرار دهید و برای جلوگیری از رشد بی‌رویه لاگ از logrotate یا چرخش دستی استفاده کنید؛ همچنین به مجوزهای نوشتن فایل توجه کنید.

توسط پژوهشگر در 220 روز قبل ساعت 01:53
دسته بندی ها: Bash Scripting Bash Scripting for beginner
arash در 220 روز قبل ساعت 11:40

این اسکریپت Bash باید با یک حلقهٔ while و sleep هر 60 ثانیه اجرا شود و خروجی با زمان‌مهر در کنار مصرف CPU و حافظه در یک فایل لاگ ثبت گردد. برای پرمصرف‌ها می‌توانید از ps -eo pid,comm,%cpu,%mem --sort=-%cpu استفاده کرده و خروجی را به همراه تاریخ در فایل لاگ بنویسید. برای جلوگیری از رشد بی‌رویهٔ لاگ از logrotate یا چرخش دستی استفاده کنید و مجوزهای مناسب نوشتن در /var/log را رعایت کنید. همچنین اجرای آن در پس‌زمینه یا به‌عنوان سرویس systemd/cron و مشخص کردن مسیر دقیق لاگ، پایداری و نگهداری را آسان می‌کند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری