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