افزایش swap

می دانیم که یکی از نیاز های ضروری برای هر سیستم عاملی رم می باشد . در سیستم عامل هایی مانند Unix , یک فضایی وجود دارد که سیستم از این فضا به عنوان رم مجازی استفاده می کند و به آن swap می گویند . کار کردن بدون swap تقریبا امکان پذیر  نیست  مخصوصا اگر سیستم به عنوان یک server مورد استفاده قرار گیرد.

اگر در هنگام نصب FreeBSD دقت کرده باشید ما قسمتی از فضای هارد را به عنوان رم مجازی یا swap قرار دادیم تا سیستم بتواند از آن استفاده کند . حال حالتی را در نظر می گیریم که احساس می کنیم این swap برای سیستم ما کافی نیست و باید آن را افزایش داد . برای افزایش swap سه راه در FreeBSD  وجود دارد :

۱- اضافه کردن یک هارد جدید و ساختن یک swap جدید بر روی آن

۲- ساختن swap بر روی NFS

۳- ساختن swapfile

از بین گزینه های بالا گزینه دوم زیاد پیشنهاد نمی شود چون باید سیستمی که از آن به عنوان NFS استفاده می شود همیشه روشن باشد و چون از طریق شبکه سیستم ها به هم وصل هستند ممکن است باعث اشغال شدن شبکه شود و مقدار زیادی از پهنای باند مورد استفاده قرار گیرد و شبکه را با مشکل مواجه کند .

گزینه اول راه کار خوبی است البته مجبور به هزینه هستید.


گزینه سوم یکی از بهترین راه ها است . در این روش ماید یک فایلی ایجاد می کنیم بر  روی هارد دیسکی که سیستم عامل بر روی آن نصب است و به سیستم می گوییم از این فایل به عنوان swap استفاده کند . در این صورت لازم است حتما بر روی هارد دیسک خود فضای کافی داشته باشیم.

برای ساختن swapfile باید مارحل زیر طی گردد .

۱- اگر از کرنلی غیر از کرنل Generic استفاده می کنید باید حتما  گزینه memory disk drive   یا   md   در آن فعال باشد اگر نیست  خط زیر در قسمت device های کرنل قرار دهید و سپس دوباره کرنل را compile کنید

device   md   # Memory "disks"

در کرنل Generic این گزینه به طور پیش فرض وجود دارد .

۲- فرض بر این است که من مقدار swapfile را در حدود ۵۱۲ مگا بایت در نظر می کیرم و این swapfile در شاخه usr که دارای فضای کافی است قرار می دهم . پس برای ایحاد این فضا دستور زیر را در ترمینال تایپ می کنم .

# dd if=/dev/zero of=/usr/swap0 bs=1024k count=512

با تایپ دستور بالا این فضا که در اینجا swap0 نام دارد ایجاد شد . شما می توانید نام های دیگری برای این فضا در نظر بگیرید . مانند swap123 یا mfaridiswap یا هر چیز دیگری .

۳- بعد از ایجاد فضا برای اینکه این فضا قابل نوشتن و خواندن باشد باید permission آن را تغییر دهیم . پس در ترمینال تایپ می کنیم .

# chmod 0600 /usr/swap0

۴- بعد از تعیین permission یا مجوز دسترسی برای اینکه این فضا در هنگام بوت سیستم مورد استفاده قرار گیرد باید عبارت زیر را در فایل rc.conf  قرار دهیم یا با هر بار ریست سیستم این فضا به عنوان swapfile مورد استفاده قرار گیرد.

swapfile="/usr/swap0"

واضح است اگر این swapfile به اسم  دیگری مانند swap123 یا mfaridiswap  ایجاد شده است باید در فایل rc.conf همان عبارت را قرار دهیم .

حالا کافی است سیستم را ریست کنیم تا از سیستم بتواند از این فضا به عنوان swap استفاده کند.

اگر دوست ندارید سیستم را ریست کنید یا نمی توانید برای فعال شدن swapfile کافی است در ترمینال دستور زیر را  تایپ کنید

# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0