نقشه راه مدیریت VPS لینوکس (قسمت سوم): 5 گام تا مانیتورینگ حرفه‌ای، مدیریت فرایندها و بهینه‌ سازی رم + Swap

بعد از راه‌اندازی VPS و امنیت آن (فایروال، SSH و …)، حالا نوبت به مدیریت عملکرد می‌رسد. ما فقط VPS را بالا نمی‌آوریم باید بدانیم در هر لحظه در سرور مجازی مان چه می‌گذرد و چطور از کندی و قطعی جلوگیری کنیم.

در این قسمت یاد می‌گیریم:

  • وضعیت لحظه‌ای سرور را ببینیم
  • فرآیندهای قفل‌ شده یا پرمصرف را متوقف کنیم
  • با رم محدود (۱–۴ گیگ) بهترین عملکرد را بگیریم
  • از Swap هوشمندانه استفاده کنیم تا سایت یا اپلیکیشن‌ مان از دسترس خارج نشود

دیدن فرایندها و بررسی عملکرد با htop (و ابزارهای مدرن)

دستور top پیش‌فرض است، اما htop خواناتر، زیباتر و کاربردی‌تر است.

نصب و اجرا (روی Debian/Ubuntu):

sudo apt update && sudo apt install htop -y
htop

به چه چیزهایی در htop دقت کنیم؟

  • نوار CPU و Mem: اگر رنگ‌ها به انتها رسیده، سرور تحت فشار شدید است.
  • Load Average: سه عدد (۱، ۵ و ۱۵ دقیقه). اگر میانگین از تعداد هسته‌های CPU بیشتر باشد → سرور در صف انتظار است و کند می‌شود.
  • PID: شناسه فرآیند؛ برای کشتن برنامه‌های مشکل‌دار ضروری است.
  • ستون %MEM و RES: ببینید کدام فرآیند بیشترین رم را اشغال کرده.

نمای برنامه htop که فرایندها و میزان مصرف منابع را نشان میدهد.

ابزارهای جایگزین top و htop (اختیاری اما عالی):

  • btop → زیباتر + نمایش شبکه و GPU (اگر داشته باشید)
#نصب و اجرا   
sudo apt install btop -y
  btop
  • glances → همه‌چیز در یک صفحه + امکان مشاهده از مرورگر
#نصب و اجرا     
sudo apt install glances -y
  glances

htop هنوز سبک‌ترین و سریع‌ترین گزینه برای VPSهای معمولی است.

مدیریت بحران: کشتن یا متوقف کردن فرایند ها با kill، pkill و killall

وقتی یک اسکریپت یا سرویس قفل می‌کند و رم/CPU را بی رویه مصرف میکند، باید سریع عمل کنید.

روش ۱: با PID (از htop پیدا کنید)

# این دستور به فرایند میگوید کارت را تمام کن یعنی فرایند فرصت دارد به طور ایمن بسته شود
kill 1234

# در صورتی که برنامه هنگ کرده و پاسخ نمیدهد، این دستور آن را فوراً از سیستم بیرون میکند.
kill -9 1234

هشدار مهم
از kill -9 فقط در موارد اضطراری استفاده کنید. این سیگنال مثل کشیدن دوشاخه برق است و ممکن است باعث خراب شدن دیتابیس، از دست رفتن داده یا ناسازگاری سرویس شود. همیشه ابتدا kill معمولی را امتحان کنید.

روش ۲: pkill یا killall (سریع‌تر برای نام برنامه)

sudo pkill python          # همه فرآیندهای python را ببند
sudo killall -9 php-fpm    # همه php-fpm ها را اجباری ببند

Swap: تنظیم هوشمندانه برای بهره برداری بهتر از VPS

بسیاری از VPSها رم کمی دارند (۱–۴ گیگ). وقتی رم پر شود، OOM Killer سیستم برخی فرآیندها (مثل وب‌ سرور یا دیتابیس) را می‌کشد → سایت داون می‌شود. Swap بخشی از دیسک است که به عنوان رم اضافی عمل می‌کند.

چقدر Swap بسازیم؟

رم سروراندازه پیشنهادی Swapتوضیح
≤ ۲ گیگ۲–۴ گیگایمنی بالا در برابر OOM Killer
۴ گیگ۲–۴ گیگتعادل خوب بین سرعت و پایداری
۸ گیگ به بالا۱–۴ گیگ یا حتی ۰اگر دیتابیس سنگین ندارید، کم یا صفر

قانون کلی: حداکثر ۱ تا ۱.۵ برابر رم برای اکثر VPSها کافی است. Swap کندتر از رم است؛ فقط برای جلوگیری از کرش استفاده شود، نه برای عملکرد روزمره.

مراحل ساخت Swap ۲ گیگ (مثال):

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
دائمی کردن Swap (مهم!):

ویرایش /etc/fstab:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
ترفند حرفه‌ای: تنظیم Swappiness (برای سرعت بیشتر)

پیش‌فرض swappiness=60 است → لینوکس زود سراغ Swap می‌رود و سرعت کم می‌شود.

برای VPSهای وب/اپلیکیشن معمولی، مقدار ۱۰ تا ۲۰ عالی است (سرور فقط در شرایط بحرانی Swap استفاده کند).

# چک کردن مقدار فعلی
cat /proc/sys/vm/swappiness

# تغییر موقت به ۱۰
sudo sysctl vm.swappiness=10

# دائمی کردن (بهترین روش)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.d/99-swappiness.conf
sudo sysctl -p

چک وضعیت Swap:

free -h
swapon --show

نکته: اگر Swap مدام استفاده می‌شود → رم سرور کم است؛ برنامه‌ها را بهینه کنید یا پلن را ارتقا دهید.

عیب‌یابی عمیق با journalctl

اگر سرویسی اجرا نمی‌شود یا کرش می‌کند، لاگ‌ها بهترین دوست شما هستند.

# لاگ‌های یک سرویس خاص (مثل nginx)
journalctl -u nginx

# لاگ زنده (real-time)
journalctl -f

# فقط خطاهای ۲۴ ساعت اخیر
journalctl -u nginx --since "24 hours ago" -p err..emerg

# ۱۰۰ خط آخر با اولویت warning به بالا
journalctl -u nginx -n 100 -p warning..

مطالعه بیشتر: برای مدیریت سرویس‌ها (start, stop, enable, status و غیره) به مقاله systemctl و مدیریت سرویس مراجعه کنید.

چک‌لیست نهایی: آیا سرور شما سالم و بهینه است؟

هر بار بعد از تغییرات یا وقتی کندی حس کردید، این ۴ مورد را چک کنید:

  1. دیسک پر نباشد
    (اگر هارد ۱۰۰% شود، حتی دستورات ساده اجرا نمی‌شوند. برای اطلاعات بیشتر به مقاله مدیریت فضای دیسک در لینوکس مراجعه کنید)
  2. رم آزاد کافی داشته باشید
   free -h

(به ستون available نگاه کنید)

  1. Swap بیش از حد استفاده نشود
    اگر used در Swap همیشه بالا باشد → رم کم است یا برنامه نشتی دارد.
  2. لاگ‌ها را چک کنید
    همیشه نیم‌نگاهی به journalctl -f یا خطاهای اخیر داشته باشید.

قدم بعدی در نقشه راه

حالا سرور شما مانیتور می‌شود و منابع آن بهینه شده است. اما قبل از اینکه به سراغ قسمت چهارم مدیریت VPS برویم، در یک مقاله جامع، تمام روش‌های نصب نرم‌افزار در لینوکس (از APT تا نصب از سورس‌کد) را بررسی می‌کنیم. این دانش، پایه و اساس قسمت چهارم (بخش پایانی) خواهد بود؛ جایی که با نصب وب‌سرور Nginx، مدیریت دامین و فعال‌سازی SSL (بدون نیاز به پنل‌های گرافیکی)، سرور را برای میزبانی واقعی آماده می‌کنیم!

دیدگاهتان را بنویسید