پرش به محتوا

تاریخچه‌ی کارایی سرور با sysstat و sar

sysstat هر ۱۰ دقیقه وضعیت CPU، حافظه، دیسک و شبکه را ثبت می‌کند تا بتوانید بفهمید سرور دیروز ساعت ۳ بعدازظهر چرا کند شده بود.

Rocky Linux 10سطح: مقدماتیبرای: Rocky Linux 10، AlmaLinux 10، CentOS Stream 10، Rocky Linux 9، AlmaLinux 9به‌روزرسانی: ۱۶ آبان ۱۴۰۵

ابزارهایی مثل top فقط «همین الان» را نشان می‌دهند. وقتی کاربر می‌گوید «دیروز سیستم کند بود»، به داده‌ی تاریخی نیاز دارید. sysstat ساده‌ترین راه است.

۱. نصب و فعال‌سازی

bash
sudo dnf install -y sysstat
sudo systemctl enable --now sysstat

داده‌ها هر ۱۰ دقیقه در /var/log/sa/ ذخیره می‌شوند.

۲. خواندن داده‌ی امروز

bash
sar -u            # CPU
sar -r            # حافظه
sar -d -p         # دیسک‌ها
sar -n DEV        # شبکه
sar -q            # صف پروسه‌ها و load average

۳. یک روز و بازه‌ی مشخص

bash
ls /var/log/sa/
sar -u -f /var/log/sa/sa06 -s 14:00:00 -e 16:00:00

sa06 یعنی داده‌ی روز ششم ماه.

۴. تفسیر سریع

  • %iowait بالا (بیش از ۲۰٪): گلوگاه دیسک است، نه CPU.
  • در sar -r، اگر %memused بالاست ولی kbavail هنوز زیاد است، نگران نباشید؛ لینوکس حافظه‌ی آزاد را برای کش استفاده می‌کند.
  • در sar -d، ستون await زمان انتظار هر درخواست دیسک است. بیش از ۲۰ میلی‌ثانیه برای SSD غیرعادی است.

۵. فاصله‌ی ثبت کوتاه‌تر

bash
sudo systemctl edit sysstat-collect.timer
ini
[Timer]
OnCalendar=
OnCalendar=*:00/2

این تنظیم داده‌ها را هر ۲ دقیقه ثبت می‌کند.