بررسی مصرف CPU، رم و دیسک سرور مجازی و رفع کندی سرور
«سرورم کند شده» یکی از رایجترین مشکلاتی است که کاربران گزارش میکنند. اما کندی میتواند چند علت کاملاً متفاوت داشته باشد: پردازنده پر، رم تمامشده، دیسک پر یا شلوغ، یا حتی مشکل شبکه. در این راهنما یاد میگیرید علت واقعی را پیدا کنید.
قدم ۱: نگاه کلی با htop
apt install htop -y
htop
در بالای صفحه نوارهای رنگی هر هسته پردازنده، مصرف رم و Swap را میبینید. در جدول پایین، پروسهها را میتوانید با کلید F6 بر اساس CPU یا MEM مرتب کنید. برای خروج q را بزنید.
عدد load average در گوشه بالا مهمترین شاخص است. قاعده ساده: اگر عدد اول از تعداد هستههای سرور بیشتر باشد، یعنی صف انتظار تشکیل شده و سرور تحت فشار است. برای دیدن تعداد هسته:
nproc
قدم ۲: بررسی رم
free -h
ستون available مهمترین عدد است، نه free. لینوکس رم آزاد را برای کش استفاده میکند و این طبیعی است؛ پس رم «پر» لزوماً بد نیست. اما اگر available خیلی کم باشد و Swap در حال استفاده باشد، سرور واقعاً کمبود رم دارد.
پیدا کردن پرمصرفترین پروسهها از نظر رم:
ps aux --sort=-%mem | head -10
اگر رم کم میآورید، سه راه دارید: بهینهسازی برنامه، ساخت فایل Swap، یا ارتقای پلن سرور.
قدم ۳: بررسی فضای دیسک
df -h
اگر پارتیشن اصلی به ۱۰۰٪ رسیده باشد، سرویسها شروع به خطا دادن میکنند - دیتابیس نمیتواند بنویسد و سایت بالا نمیآید. برای پیدا کردن مقصر:
du -sh /* 2>/dev/null | sort -h # حجم پوشههای ریشه
du -sh /var/* | sort -h # معمولاً مقصر اینجاست
find / -type f -size +200M 2>/dev/null # فایلهای بزرگ
سه مقصر همیشگی پر شدن دیسک:
- لاگها در
/var/log- باjournalctl --vacuum-time=7dلاگهای قدیمیتر از ۷ روز را پاک کنید. - کش بستهها - با
apt cleanآزاد میشود. - بکاپهای قدیمی که فراموش شدهاند.
قدم ۴: بررسی فشار دیسک (I/O)
گاهی CPU و رم آزادند اما سرور کند است؛ علت معمولاً دیسک است:
apt install iotop -y
iotop -o
سوییچ -o فقط پروسههایی را نشان میدهد که واقعاً در حال خواندن یا نوشتن هستند. اگر در htop ستون wa (I/O wait) بالا باشد، یعنی پردازنده منتظر دیسک است.
قدم ۵: بررسی شبکه و ترافیک
apt install nload -y
nload # نمایش زنده پهنای باند
ss -tn state established | head -20 # اتصالهای فعال
اگر ترافیک غیرعادی میبینید، ممکن است سایت شما تحت حمله باشد یا یک اسکریپت در حال دانلود حجیم باشد.
علتهای رایج کندی و راهحل
یک پروسه ۱۰۰٪ CPU گرفته
در htop شماره پروسه (PID) را ببینید و اگر مطمئن هستید متوقفش کنید:
kill PID
kill -9 PID # فقط اگر پاسخ نداد
رم تمام شده و سرویسها بسته میشوند
لینوکس وقتی رم تمام شود، پروسهها را میکشد. برای دیدن اینکه آیا چنین اتفاقی افتاده:
dmesg | grep -i "out of memory"
راهحل کوتاهمدت: ساخت Swap. راهحل درست: ارتقای رم.
دیتابیس کند شده
معمولاً بهدلیل کوئری بدون ایندکس یا کمبود رم است. لاگ کوئریهای کند را فعال کنید.
ساخت Swap برای جلوگیری از توقف سرویس
اگر رم شما محدود است، یک فایل Swap بسازید تا در اوج مصرف، سرویسها بسته نشوند:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
توجه: Swap روی دیسک است و بسیار کندتر از رم؛ راه نجات است نه جایگزین رم.
مانیتورینگ مداوم
بهجای بررسی دستی، بهتر است مصرف را مداوم زیر نظر داشته باشید. در پنل کاربری نکستسشن، مصرف CPU، رم، دیسک و ترافیک هر سرور بهصورت زنده نمایش داده میشود و میتوانید روند مصرف ترافیک را در نمودار ببینید.
چه زمانی باید پلن را ارتقا داد؟
- load average بهطور مداوم بالاتر از تعداد هستههاست.
- مقدار available رم همیشه زیر ۱۰ درصد است و Swap مدام استفاده میشود.
- دیسک بالای ۸۵ درصد پر است و چیزی برای پاک کردن نمانده.
در این حالت میتوانید از داخل پنل کاربری و بدون ساخت سرور جدید، پلن سرور را ارتقا دهید.
جمعبندی
ترتیب بررسی را به خاطر بسپارید: htop برای دید کلی، free برای رم، df و du برای دیسک، iotop برای فشار دیسک. با همین چهار ابزار، تقریباً هر مشکل کندی را میتوانید ریشهیابی کنید. برای بهبود سرعت هم مقاله افزایش سرعت سرور مجازی را بخوانید.
اگر هنوز سرور ندارید، میتوانید از صفحه پلنهای سرور مجازی ایران یک سرور با تحویل آنی تهیه کنید؛ سرور بلافاصله پس از پرداخت و در کمتر از یک دقیقه تحویل داده میشود.
سرور مجازی ایران با تحویل آنی میخواهید؟
تحویل خودکار در کمتر از یک دقیقه، دیتاسنتر داخل ایران، دسترسی کامل root و پشتیبانی 24 ساعته.
مشاهده پلنها و قیمتها