نحوه فعالسازی Swap برای یک VPS لینوکسی
در این صفحه یاد میگیرید که به یک سرور لینوکسی که Swap ندارد، Swap اضافه کنید. این کار را میتوانید در حالی که سرور روشن است و بدون متوقف کردن هیدیفای انجام دهید.
Swap فضایی روی دیسک است که لینوکس وقتی رم (RAM) پر میشود، از آن بهعنوان حافظه اضافه استفاده میکند. Swap خیلی کندتر از رم است، اما جلوی از کار افتادن برنامهها هنگام تمام شدن حافظه را میگیرد.
چه زمانی به این کار نیاز دارید
- نشانه: نصب یا بهروزرسانی هیدیفای منیجر با پیام
Building the admin UI ran out of memory (needs ~1.2 GB free RAM or swap)متوقف میشود، یا سرویسها روی یک سرور کوچک بیدلیل متوقف یا ریاستارت میشوند. - علت احتمالی: رم سرور کم است (مثلاً ۱ گیگابایت) و Swap ندارد.
- راهحل: با مراحل زیر یک فایل Swap بسازید و سپس نصب یا بهروزرسانی را دوباره اجرا کنید.
پیش از شروع
- باید بتوانید با SSH به سرور وصل شوید. آموزش اتصال به سرور با SSH را ببینید.
- دیسک باید دستکم چند گیگابایت فضای خالی داشته باشد. در این صفحه بهعنوان نمونه یک فایل Swap دو گیگابایتی ساخته میشود.
مراحل
همه دستورها را روی سرور و از طریق SSH اجرا کنید.
-
بررسی کنید که سرور از قبل Swap دارد یا نه:
اگر خروجی خالی بود، سرور Swap ندارد و ادامه دهید. اگر یک فایل یا پارتیشن Swap نشان داد، سرور از قبل Swap دارد و به این صفحه نیازی ندارید (اندازه آن را با
free -hببینید). -
فضای خالی دیسک را بررسی کنید:
به ستون Avail نگاه کنید. فضای خالی باید از اندازه Swap موردنظر شما بیشتر باشد و کمی هم اضافه بماند.
-
یک فایل دو گیگابایتی برای Swap بسازید:
اگر خطایی مثل
fallocate failed: Operation not supportedنشان داد، بهجای آن از این دستور استفاده کنید:اگر گفت فایل از قبل وجود دارد، دوباره
sudo swapon --showرا اجرا کنید؛ شاید فایل در حال استفاده باشد. -
دسترسی به فایل را فقط به مدیر سیستم بدهید:
-
فایل را برای استفاده بهعنوان Swap آماده کنید:
-
Swap را روشن کنید:
-
بررسی کنید که کار کرده است:
اگر درست انجام شده باشد،
/swapfileرا با اندازه حدود2Gمیبینید. -
برای اینکه Swap پس از ریاستارت سرور هم فعال بماند، آن را به فایل
/etc/fstab(فایلی که مشخص میکند لینوکس هنگام روشن شدن چه چیزهایی را فعال کند) اضافه کنید. این دستور فقط وقتی خط را اضافه میکند که از قبل وجود نداشته باشد:
نکتهها
- اندازه: اندازه Swap را بر اساس رم سرور و فضای خالی دیسک انتخاب کنید. دو گیگابایت برای نصبکننده هیدیفای روی یک سرور کوچک کافی است.
- پایش مصرف: هر وقت خواستید، مصرف رم و Swap را با
free -hیاhtopببینید. اگر Swap همیشه زیاد استفاده میشود، سرور به رم بیشتری نیاز دارد. آموزش پایش منابع سرور را ببینید. - بعضی سرورها نمیتوانند Swap داشته باشند. در بعضی انواع VPS مبتنی بر کانتینر (مثل OpenVZ یا LXC)، دستور
swaponبا خطایOperation not permittedشکست میخورد. در این حالت از شرکت میزبانی بپرسید یا سروری با رم بیشتر انتخاب کنید.