بعد از راهاندازی 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 و مدیریت سرویس مراجعه کنید.
چکلیست نهایی: آیا سرور شما سالم و بهینه است؟
هر بار بعد از تغییرات یا وقتی کندی حس کردید، این ۴ مورد را چک کنید:
- دیسک پر نباشد
(اگر هارد ۱۰۰% شود، حتی دستورات ساده اجرا نمیشوند. برای اطلاعات بیشتر به مقاله مدیریت فضای دیسک در لینوکس مراجعه کنید) - رم آزاد کافی داشته باشید
free -h
(به ستون available نگاه کنید)
- Swap بیش از حد استفاده نشود
اگر used در Swap همیشه بالا باشد → رم کم است یا برنامه نشتی دارد. - لاگها را چک کنید
همیشه نیمنگاهی بهjournalctl -fیا خطاهای اخیر داشته باشید.
قدم بعدی در نقشه راه
حالا سرور شما مانیتور میشود و منابع آن بهینه شده است. اما قبل از اینکه به سراغ قسمت چهارم مدیریت VPS برویم، در یک مقاله جامع، تمام روشهای نصب نرمافزار در لینوکس (از APT تا نصب از سورسکد) را بررسی میکنیم. این دانش، پایه و اساس قسمت چهارم (بخش پایانی) خواهد بود؛ جایی که با نصب وبسرور Nginx، مدیریت دامین و فعالسازی SSL (بدون نیاز به پنلهای گرافیکی)، سرور را برای میزبانی واقعی آماده میکنیم!