−25%

روی پرداخت سالانه Windows، تا ۳۱ اکتبر. مشاهده پلن‌ها

EQVPS

یک VPS چقدر RAM لازم دارد؟ اعداد واقعی بر اساس کاربرد

4 مهر 1405 · 4 دقیقه مطالعه · EQVPS Team

بیشتر مردم RAM را حدس می‌زنند. یا «محض احتیاط» خیلی بیشتر از لازم می‌خرند یا ساعت ۳ بامداد با OOM killer آشنا می‌شوند. حافظه در واقع یکی از ساده‌ترین چیزها برای اندازه‌گیری است، چون وقتی اعداد تقریبی را بدانید، کاربردها قابل پیش‌بینی‌اند. این هم اعداد، از سرور ۱ گیگابایتی برای بات تا سرورهای ۶۴ گیگابایتی که مردم وقتی می‌خواهند یک مدل بزرگ را محلی اجرا کنند دنبالش می‌گردند.

اعداد تقریبی بر اساس کاربرد

این‌ها ارقام واقعی حالت پایدار در یک راه‌اندازی معمولی هستند، نه حداقل‌های اعلام‌شده سازندگان.

کاربردRAM واقعی مصرفیپلن مناسب
بات Telegram/Discord (Python، Node.js)۱۰۰ تا ۳۰۰ مگابایتNano ۱ گیگابایت
سایت ایستا + Caddy/Nginx۵۰ تا ۱۵۰ مگابایتNano ۱ گیگابایت
WordPress + MariaDB، ترافیک معمولی۰٫۸ تا ۱٫۵ گیگابایتMicro-IP ۲ گیگابایت
PostgreSQL برای یک اپلیکیشن کوچک۰٫۵ تا ۲ گیگابایت (با shared_buffers خودتان تعیین می‌کنید)Micro / Small
n8n با چند گردش کار۰٫۵ تا ۱٫۵ گیگابایتMicro ۲ گیگابایت
میزبان Docker با ۵ تا ۱۰ سرویس کوچک۲ تا ۴ گیگابایتSmall ۴ گیگابایت
Coolify + بیلدها + پایگاه‌داده۳ تا ۴ گیگابایتSmall-IP ۴ گیگابایت
LLM 7–8B، ۴ بیت، استنتاج روی CPU۵ تا ۶ گیگابایتMedium ۶ گیگابایت
LLM 14B، ۴ بیتحدود ۱۰ گیگابایتPro-32
LLM 32B، ۴ بیتحدود ۲۰ گیگابایتPro-32
LLM 70B، ۴ بیتحدود ۴۰ تا ۴۵ گیگابایتPro-48 / Pro-64

به دو چیز دقت کنید. اول، فاصله بین کاربردهای «معمولی» و LLMها عظیم است: یک بات و یک مدل 70B دویست برابر با هم فرق دارند. دوم، بیشتر سرویس‌ها با ۱ تا ۴ گیگابایت خوب کار می‌کنند؛ مردم بیش از حد می‌خرند چون برای آینده‌ای اندازه می‌گیرند که به‌ندرت می‌رسد.

فرمول LLM

برای مدل‌های زبانی یک تخمین ساده وجود دارد: تعداد پارامترها × بیت برای هر وزن ÷ ۸، به علاوه سربار. یک مدل 8B با حدود ۴٫۵ بیت (یک کوانتیزه‌سازی معمول Q4) می‌شود ۸ × ۴٫۵ ÷ ۸ ≈ ۴٫۵ گیگابایت وزن. ۱ تا ۲ گیگابایت برای پنجره context (کش KV با طول context بزرگ می‌شود) و محیط اجرا اضافه کنید، به ۵ تا ۶ گیگابایت می‌رسید.

بخش صادقانه: روی سرورهای فقط-CPU، حافظه فقط نیمی از ماجراست. برای مدل‌های 7–8B روی چند vCPU انتظار تعداد تک‌رقمی توکن در ثانیه داشته باشید و برای 70B حدود یک توکن در ثانیه. این برای کارهای دسته‌ای، agentهای پس‌زمینه و آزمایش‌های خصوصی خوب است؛ اما تجربه گفتگو برای کاربران هم‌زمان زیاد نیست. اگر بیشتر APIهای مدل‌های میزبانی‌شده را صدا می‌زنید، agent شما خیلی کمتر لازم دارد؛ اندازه VPS برای agentهای هوش مصنوعی را ببینید.

به جای حدس زدن، بسنجید

اگر از قبل سرور دارید، اعداد جلوی چشمتان است:

free -h                              # look at "available", not "free"
ps aux --sort=-rss | head -n 8       # the biggest processes, by resident memory
docker stats --no-stream             # per-container usage

Linux از RAM بیکار به عنوان کش دیسک استفاده می‌کند، پس «free» همیشه کوچک است و این سالم است. Available عددی است که اهمیت دارد: حافظه‌ای که کرنل همین الان می‌تواند به برنامه‌ها بدهد. اگر available در شلوغ‌ترین ساعت شما بالای حدود ۲۵٪ بماند، اندازه درست است. اگر مرتب به صفر برسد و swap بزرگ شود، ارتقا دهید.

کشته شدن‌های قبلی به خاطر OOM را هم بررسی کنید:

journalctl -k | grep -i "out of memory"

Swap: کمربند ایمنی، نه موتور

یک فایل swap ۱ تا ۲ گیگابایتی روی سرور کوچک بیمه‌ای ارزان است: ارتقای یک بسته یا بیلد Docker که لحظه‌ای حافظه بیشتری می‌خواهد به جای کشته شدن زنده می‌ماند. اما اگر سرویسی در swap زندگی کند، هر درخواست منتظر دیسک می‌ماند. Swap برای جهش‌هاست. swap مداوم یعنی به پلن بعدی نیاز دارید.

خب، چقدر بخرید؟

یک اندازه کوچک‌تر از آنچه حستان می‌گوید شروع کنید، یک هفته free -h را زیر نظر بگیرید و اگر اعداد گفتند ارتقا دهید. در EQVPS ارتقای پلن داده‌های شما را نگه می‌دارد و فقط مابه‌التفاوت متناسب را می‌گیرد (تغییر پلن چطور کار می‌کند).

سؤالات متداول

یک VPS ساده چقدر RAM لازم دارد؟

برای یک بات، یک API کوچک یا یک سایت ایستا، ۱ گیگابایت کافی است و اغلب جا هم اضافه می‌ماند. وقتی پایگاه‌داده اضافه می‌کنید یا چیزها را در Docker اجرا می‌کنید، ۲ گیگابایت پیش‌فرض راحت است. زیر ۱ گیگابایت، مدیرهای بسته و محیط‌های اجرایی زبان‌های امروزی به زحمت می‌افتند.

برای اجرای LLM روی VPS چقدر RAM لازم است؟

تقریباً اندازه مدل در سطح کوانتیزه‌شدنش به علاوه یکی دو گیگابایت برای context. یک مدل 7–8B با ۴ بیت حدود ۵ تا ۶ گیگابایت، مدل 14B حدود ۱۰ گیگابایت، 32B حدود ۲۰ گیگابایت و 70B حدود ۴۰ تا ۴۵ گیگابایت لازم دارد. به همین دلیل سرورهای ۶۴ گیگابایتی وجود دارند: یک مدل 70B را با جا برای بقیه استک شما جا می‌دهند.

آیا swap جایگزین RAM است؟

نه. swap تور ایمنی برای جهش‌های کوتاه است: جلوی کشته شدن یک بیلد یا پشتیبان‌گیری را می‌گیرد. اگر یک کار تمام روز در swap زندگی کند، همه‌چیز کند می‌شود؛ این علامت رفتن به پلن بزرگ‌تر است.

چطور ببینم سرورم واقعاً چقدر RAM مصرف می‌کند؟

'free -h' را اجرا کنید و به ستون 'available' نگاه کنید نه 'free'؛ Linux حافظه اضافه را برای کش دیسک استفاده می‌کند و در صورت نیاز پس می‌دهد. 'ps aux --sort=-rss | head' بزرگ‌ترین پردازه‌ها را نشان می‌دهد و 'docker stats --no-stream' مصرف هر کانتینر را.

کی یک VPS ۶۴ گیگابایتی منطقی است؟

وقتی یک چیز واحد باید در حافظه بماند: یک مدل محلی 32–70B، یک ایندکس برداری بزرگ برای RAG یا ناوگانی از agentها با محیط‌های اجرایی خودشان. برای وب‌سایت‌ها، بات‌ها و بیشتر APIها هدر دادن پول است.

← بازگشت به وبلاگ← پلن‌ها و قیمت‌ها

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.