نحوه ایجاد یک فایل Swap در لینوکس

ساخت وبلاگ

دیو مک کی

دیو مک کی نویسنده

دیو مک کی برای اولین بار زمانی که نوار کاغذی پانچ شده رواج داشت از کامپیوتر استفاده کرد و از آن زمان تاکنون به برنامه نویسی پرداخته است. پس از بیش از 30 سال در صنعت IT، او اکنون یک روزنامه نگار تمام وقت در فناوری است. او در طول حرفه خود به عنوان یک برنامه نویس آزاد، مدیر یک تیم توسعه نرم افزار بین المللی، مدیر پروژه خدمات فناوری اطلاعات و اخیراً به عنوان افسر حفاظت از داده ها کار کرده است. نوشته های او توسط howtogeek. com، cloudsavvyit. com، itenterpriser. com و opensource. com منتشر شده است. دیو یک مبشر لینوکس و مدافع منبع باز است. ادامه مطلب

8 ژانویه 2020، 8:00 صبح EDT |9 دقیقه مطالعه

The inside of a mechanical hard disk.

فضای مبادله را به یک رایانه لینوکس اضافه کنید یا فضای مبادله ای را که در حال حاضر وجود دارد افزایش دهید، بدون اینکه با پارتیشن ها مشکلی ایجاد کنید. ما به شما راه آسانی را برای تنظیم فضای مبادله خود نشان می دهیم.

Swap Files در مقابل Swap Partitions

  • شاید فضای مبادله شما اغلب در حداکثر یا نزدیک به حداکثر کار می کند.
  • به راحتی می توانید در طول مراحل نصب روی گزینه اشتباه کلیک کنید و از اضافه کردن سهوا به سیستم خود swap خودداری کنید.
  • شاید قبلاً به این نتیجه رسیده باشید که آنقدر حافظه با دسترسی تصادفی (RAM) دارید که نیازی به تعویض ندارید و نظر خود را تغییر داده اید.
  • گاهی اوقات مدیریت سیستمی را به ارث می برید که هیچ مبادله ای ندارد، به دلایلی که هرگز نمی توانید کشف کنید.

راه حل ساده برای همه اینها اضافه کردن یک فایل swap به رایانه شما است. این یک فایل ویژه است که از قبل اختصاص داده شده و برای استفاده به عنوان فضای مبادله رزرو شده است. یک فایل swap با هر swap موجودی که ممکن است داشته باشید، چه یک فایل swap یا یک پارتیشن مبادله، کار خواهد کرد.

زمانی، برای استفاده از فایل swap در مقایسه با پارتیشن swap، عملکرد خوبی وجود داشت. این دیگر در مورد بهبود عملکرد هارد دیسک های مکانیکی (چرخش) و کارایی بیشتر در عملکردهای تعویض در سیستم عامل لینوکس صدق نمی کند. در واقع، برخی از توزیع های لینوکس اکنون به جای تعویض پارتیشن ها، به طور پیش فرض فایل های swap ایجاد می کنند.

Swap فقط به عنوان وسیله ای برای آزاد کردن رم در زمانی که حافظه شما کم است استفاده نمی شود. این بخش مهمی از یک سیستم با عملکرد خوب است. بدون هیچ گونه مبادله ای، دستیابی به مدیریت حافظه سالم برای هسته بسیار دشوار می شود. بیایید به روش آسان اضافه کردن فضای مبادله نگاه کنیم.

قبل از اینکه وارد آن شویم: Btrfs و SSD

دو نکته وجود دارد که مایلیم به سرعت در مورد آن صحبت کنیم.

سیستم فایل BTRFS در مورد پرونده های مبادله احتیاط خاصی دارد. در یک زمان ، بین ماهیت کپی نوشتاری BTRFS ، که می خواستند به یک روش کار کنند و پرونده هایی را که برای کار در دیگری نیاز داشتند ، تعارض داشت. برخی از کارکردهایی که پرونده های مبادله به آنها بستگی دارند ، پیاده سازی نشده اند ، و برخی فرضیاتی که در مورد شماره گذاری بلوک در پرونده های مبادله انجام شده است ، با BTRF صادق نیست. بنابراین پرونده های مبادله پشتیبانی نمی شوند.

از زمان هسته 5. 0 ، در صورت تنظیم الزامات زیر می توانید پرونده های مبادله ای را در سیستم های فایل BTRFS داشته باشید:

  • هیچ پرونده کپی بر روی نوشتن (NOCOW) وجود ندارد.
  • آنها فشرده نشده اند.
  • آنها هارد دیسک های مختلف را نمی چسباند.

بیشتر خوانندگان از سیستم پرونده پیش فرض EXT4 استفاده می کنند ، بنابراین این نگرانی برای آنها نخواهد بود.

هنگامی که درایوهای حالت جامد (SSD) برای اولین بار در دسترس بودند ، نگرانی در مورد استفاده از آنها در شرایطی که سیستم فایل مکرر می نویسد وجود دارد. مردم از قرار دادن فضای مبادله ای بر روی SSD ها و حتی جلوگیری از ورود سیستم به SSD ها اخطار داده شدند.

امروزه این نگرانی بسیار کمتر است ، و بسیاری از SSD هایی که در حال فروش هستند دارای امید به زندگی هستند که بیشتر رایانه های شخصی را فراتر می برد. یک فایل مبادله در SSD عملکرد بسیار بهتری نسبت به یک پارتیشن مبادله در یک هارد مکانیکی دارد.

بررسی فضای مبادله موجود

قبل از جهش نگاه کنبیایید بررسی کنیم که فضای مبادله ای در رایانه شما وجود دارد. شما می توانید این دو روش را انجام دهید ، و ما از هر دو استفاده خواهیم کرد. دستور رایگان حافظه استفاده شده و رایگان را نشان می دهد. گزین ه-h (قابل خواندن انسان) باعث می شود هنگام نمایش مقادیر حافظه ، از واحدهای معقول استفاده شود.

رایگا ن-h

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

مبادله هرگز بدون خرد کردن رم و قوچ آزاد مورد بحث قرار نمی گیرد. بنابراین شایان ذکر است که قوچ آزاد به عنوان 237 مگابایت داده می شود. این اشتباه را برای کل رم موجود برای استفاده اشتباه نکنید. این مقدار توسط شکل "موجود" ارائه می شود ، که 881 مگابایت است.

لینوکس از RAM رایگان برای اهداف خاص خود استفاده می کند ، مانند ذخیره سازی فایل و بافر هسته. مقدار رم اختصاص داده شده به آن شکل "Buff/Cache" است که 871 مگابایت است. اما این حافظه هنوز هم به عنوان "موجود" در نظر گرفته می شود. محتویات رم "BUF/Cache" را می توان بلافاصله دور ریخت و توسط هر برنامه ای که به حافظه نیاز دارد استفاده شود.

راه دیگر برای بررسی اینکه آیا فضای مبادله در دسترس است ، استفاده از دستور Swapon است. گزین ه-نمایش هیچ تغییری در مبادله در رایانه شما ایجاد نمی کند. این فقط آمار را ارائه می دهد.

Swapo n-نمایش

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

اگر این دستورات فاش کرده بودند که فضای مبادله ای از قبل پیکربندی شده است ، باید اندازه فضای مبادله موجود در تصمیمات مربوط به اندازه پرونده مبادله ای که می خواهید ایجاد کنید ، مورد بررسی قرار گیرد.

به چقدر فضای مبادله نیاز دارم؟

پاسخ سنتی "دو برابر مقدار قوچ شما" بود. اما این زمانی که رایانه ها دارای رم بسیار محدودی بودند ، ابداع شد. هرچه RAM ارزان تر شود و برنامه ها و بازی ها بیشتر از حافظه بخواهند ، مشخصات PC بر این اساس تنظیم شده اند. رایانه های شخصی خانگی با 32 گیگابایت رم امروزه غیر معمول نیستند. و اگر 32 گیگابایت رم دارید ، نمی خواهید 64 گیگابایت فضای هارد دیسک را برای تعویض فضا اختصاص دهید. این کاملاً بیش از حد است

میزان مبادله مورد نیاز شما به عنوان یک موضوع آتش سوزی است ، قابل مقایسه با "که بهترین ویرایشگر است". یکی از معقول ترین بحث هایی که در مورد این موضوع دیده ایم در سؤالات متداول مبادله اوبونتو است. این یک رویکرد کوتاه و عوام است (اگرچه ، مانند بسیاری از افراد ، آنها سوء تفاهم می کنند که چگونه تعویض در لینوکس کار می کند). یک جدول مفید وجود دارد که مقدار توصیه شده فضای مبادله را برای مقدار RAM سیستم شما نشان می دهد ، و اینکه آیا کامپیوتر خود را زمزمه می کنید یا نه.

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

اندازه پرونده مبادله را از جدول انتخاب کنید و مدتی آن را اجرا کنید. استفاده از سیستم خود را از فضای مبادله کنترل کنید. در صورت نیاز به تنظیم دقیق ، تغییراتی به راحتی انجام می شود. با فایلهای مبادله ، این یک کار دو دقیقه ای است. آن را با تنظیم پارتیشن ها در یک رایانه زنده لینوکس مقایسه کنید.

ایجاد پرونده مبادله

برای ایجاد SwapFile خود نباید از دستور Fallocate استفاده کنید. این از صفحه Man for Swapon است:

اجرای پرونده مبادله در هسته انتظار دارد که بدون کمک سیستم پرونده بتواند مستقیماً روی پرونده بنویسد. این یک مشکل در پرونده های دارای سوراخ یا پرونده های کپی بر روی سیستم های فایل مانند BTRFS است. دستوراتی مانند CP (1) یا Truncate (1) پرونده هایی با سوراخ ایجاد می کنند. این پرونده ها توسط Swapon رد می شوند. پرونده های prealocated ایجاد شده توسط Fallocate (1) ممکن است بسته به سیستم فایل ، به عنوان پرونده هایی با سوراخ نیز تعبیر شود. پرونده های مبادله prealocated از Linux 4. 18 در XFS پشتیبانی می شوند. قابل حمل ترین راه حل برای ایجاد یک فایل مبادله استفاده از DD (1) و /dev /Zero است.

بنابراین ، اگرچه Fallocate سریعتر است ، ما از DD برای ایجاد پرونده مبادله استفاده خواهیم کرد. دستگاه مورد استفاده برای تحقیق در این مقاله دارای دو گیگابایت رم است. ما می خواهیم یک فایل مبادله یک گیگابایتی ایجاد کنیم.

گزینه ها عبارتند از:

  • if: پرونده ورودی. در این مثال ، ما از /dev /Zero استفاده می کنیم که جریان بایت صفر را فراهم می کند.
  • از: پرونده خروجی. ما می خواهیم پرونده ای را در فهرست اصلی به نام SWAPFILE ایجاد کنیم.
  • BS: اندازه بلوک در بایت. این مشخص می کند که چند بایت برای خواندن از پرونده ورودی و نوشتن به پرونده خروجی ، در یک زمان.
  • تعداد: چند بلوک برای خواندن و نوشتن. برای به دست آوردن اندازه پرونده ، این عدد را با مقدار BS ضرب کنید.
sudo dd if =/dev/Zero of =/swapfile bs = 1024 تعداد = 1048576

برخی از آمار هنگام ایجاد پرونده ارائه می شود.

ما می توانیم تعداد بلوک ها (سوابق) را که به پرونده نوشته شده اند ، اندازه پرونده ، زمان لازم برای ایجاد پرونده و نرخ انتقال داده مؤثر را مشاهده کنیم.

برای دیدن پرونده در فهرست root از دستور ls استفاده کنید:

تهیه پرونده مبادله

ما باید قبل از استفاده از آن ، پرونده مبادله را با دستور MKSWAP تهیه کنیم. ما نیازی به ارائه پارامتری به MKSWAP غیر از مسیر و نام پرونده نداریم:

sudo mkswap /swapfile

پرونده برای استفاده به عنوان یک فایل مبادله تهیه شده است. به هشدار در مورد مجوزهای پرونده توجه داشته باشید. ما باید این موارد را تغییر دهیم تا کاربر root تنها کسی باشد که می تواند در پرونده مبادله بخواند و بنویسد.

با استفاده از پرونده مبادله

مجوزهای پیش فرض بسیار لیبرال است ، ما باید آنها را محدود کنیم تا فقط Root بتواند از Swapfile استفاده کند. برای تغییر مجوزهای پرونده از Chmod استفاده کنید:

sudo chmod 600 /swapfile

این همه مجوزها را از اعضای گروه پرونده و دیگران حذف می کند ، اما به صاحب پرونده ، root ، اجازه می دهد تا پرونده را بخواند و بنویسد.

ما باید از دستور swapon استفاده کنیم تا به لینوکس اطلاع دهیم که یک فایل مبادله جدیدی برای استفاده در دسترس است. ما فقط باید مسیر و نام پرونده را ارائه دهیم:

sudo swapon /swapfile

پرونده مبادله اکنون فعال است.

افزودن پرونده مبادله به FSTAB

برای اینکه مطمئن شوید پرونده مبادله شما پس از راه اندازی مجدد در دسترس است ، آن را به پرونده /etc /fstab اضافه کنید. می توانید از هر ویرایشگر متن مورد نظر استفاده کنید ، اما ما این روند را با استفاده از ویرایشگر متن گرافیکی GEDIT نشان خواهیم داد.

sudo gedit /etc /fstab

خطی که باید به پایین پرونده اضافه کنیم:

/swapfile none swap sw 0 0

/etc/fstab with the swapfile entry highlighted

  • سیستم پرونده: مسیر و نام پرونده مبادله.
  • Mount Point: پرونده مانند سیستم فایل نصب نشده است ، بنابراین ورودی "هیچ" نیست.
  • نوع: این "مبادله" است.
  • گزینه ها: در زمان بوت Swapo n-a (همه دستگاه های مشخص شده به عنوان مبادله را شروع کنید) از یکی از اسکریپت های بوت فراخوانی می شوند. این گزینه به لینوکس می گوید که این ورودی را به عنوان یک منبع مبادله ای که باید تحت کنترل آن فرمان Swapo n-a باشد ، رفتار کند. دیدن "پیش فرض" های مورد استفاده در اینجا معمول است زیرا یک باور اشتباه در بین برخی از کاربران لینوکس وجود دارد که از این زمینه نادیده گرفته می شود. همانطور که خواهیم دید ، اینگونه نیست. بنابراین استفاده از گزینه صحیح منطقی است.
  • زباله: این می تواند روی صفر تنظیم شود. در این مورد بی ربط است.
  • پاس: این می تواند روی صفر تنظیم شود. در این مورد بی ربط است.

تغییرات را ذخیره کرده و ویرایشگر را ببندید.

بررسی استفاده از مبادله

برای دیدن اینکه آیا از فضای مبادله شما استفاده می شود ، از دستور swapon با گزین ه-نمایش استفاده کنید:

Swapo n-نمایش

ستون ها عبارتند از:

  • نام: نام پارتیشن مبادله یا پرونده مبادله.
  • نوع: نوع دستگاه مبادله.
  • اندازه: اندازه منبع مبادله.
  • مورد استفاده: مقدار فضای مبادله استفاده شده.
  • PRIO: اولویت این فضای مبادله.

اولویت فضای مبادله

هر فضای مبادله اولویت است. اگر یکی را ارائه ندهید ، یکی به طور خودکار اختصاص می یابد. اولویت های اختصاص یافته به طور خودکار همیشه منفی هستند. دامنه اولویت هایی که می توانند به صورت دستی اختصاص دهند 0 تا 32767 است. از منابع مبادله ای با اولویت های بالاتر استفاده می شود.

اگر بیش از یک فضای مبادله از اولویت های یکسانی برخوردار باشد که به طور متناوب از آنها استفاده می شود تا هر دو پر شوند ، سیستم به دنبال فضای مبادله با پایین ترین اولویت بعدی است. اگر فقط یک فضای مبادله ای دارید ، اولویت بی ربط است. اما ما اولویت Swapfile را که ایجاد کرده ایم برای نشان دادن نحوه انجام این کار تغییر خواهیم داد.

برای تعیین اولویت ، گزینه PRI = (اولویت) را به ورودی /etc /fstab اضافه کنید. خطی را که به /etc /fstab اضافه کرده اید ویرایش کنید تا به این شکل باشد:

/swapfile none swap sw ، pri = 10 0 0

یعنی PRI = 10 را به قسمت گزینه ها اضافه کنید ، از "SW" با کاما جدا شده است. هیچ فضایی بین "SW" ، کاما و "PRI = 10" نگذارید. دوباره کامپیوتر خود را راه اندازی کنید و از دستور swapo n-نمایش استفاده کنید:

Swapon - نمایش

اولویت این فضای مبادله به 10 افزایش یافته است که اثبات مثبت این است که قسمت گزینه ها در ورود /etc /fstab نادیده گرفته نمی شود.

مبادله فضای آسان ساخته شده است

با قطع نمایش و توضیح ، می توانیم یک فایل مبادله جدید را به آسانی و سریع به این ترتیب ایجاد کنیم:

sudo dd if =/dev/Zero of =/swapFile2 bs = 1024 COUNT = 104857
sudo mkswap /swapfile2
sudo chmod 600 /swapfile2
sudo swapon /swapfile2

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

Swapo n-نمایش

اگر می خواهید آن قطره دائمی را ایجاد کنید ، آن را به پرونده /etc /fstab خود تبدیل کنید.

دستورات لینوکس
فایل ها tar · pv · cat · tac · chmod · grep · sed · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $ path · join · jq · fold · uniq · uniq · uniq joursalctlctl· vi · nano · mkdir · du · ln · patch · تبدیل · rclone · srm · srm · scp · gzip · chattr · برش · یافتن · umask · wc
فرایندها alias · صفحه نمایش · top · nice · renice · پیشرفت · strace · systemd · tmux · chsh · history · at · batch · free · که · dmesg · usermod · ps · ps · chroot · tty · tty · pinky · pinky · lsof · lsof · lsof ·Timeout · Wall · Yes · Kill · Sleep · sudo · su · time · time · usermod · گروه ها · LSHW · خاموش کردن · راه اندازی مجدد · HALT · POWEROFF · PASSWD · LSCPU · CRONTAB · DATE · BG · FG · PIDOF · NOHUP · NOHUP · PMAP
شبکه netStat · پینگ · traceroute · ip · ss · whois · fail2ban · bmon · dig · dig · finger · nmap · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arpw · firp
  • ›فایل صفحه ویندوز چیست و چگونه آن را پیکربندی می کنید؟
  • ›نحوه استفاده از بیت های Suid ، SGID و چسبنده در لینوکس
  • ›چرا خرید مک با فقط 8 گیگابایت رم اشکالی ندارد
  • ›خرید یک اسکوتر الکترونیکی بزرگسالان Smoosat ، یک اسکاتیکر الکترونیکی بچه ها را رایگان دریافت کنید
  • ›نحوه پیدا کردن صفحه نمایش آبی ویندوز 11 از مرگ و میر
  • ›Minecraft: Bedrock Edition به Chromebooks می آید
  • ›چگونه می توان از همگام سازی میانبرهای دسک تاپ ویندوز متوقف شد
  • ›Microsoft 365 Copilot AI را به Word ، Outlook و موارد دیگر اضافه می کند

Profile Photo for Dave McKay

دیو مک کی دیو مک کی برای اولین بار از رایانه هایی که نوار کاغذی مشت زده در رواج بود ، از رایانه ها استفاده کرد و از آن زمان تاکنون برنامه نویسی کرده است. وی پس از گذشت بیش از 30 سال در صنعت فناوری اطلاعات ، اکنون یک روزنامه نگار تمام وقت فناوری است. وی در طول کار خود به عنوان یک برنامه نویس مستقل ، مدیر تیم توسعه نرم افزار بین المللی ، یک مدیر پروژه خدمات فناوری اطلاعات و اخیراً به عنوان یک افسر حفاظت از داده کار کرده است. نوشته های وی توسط howtogeek. com ، cloudsavvyit. com ، itenterpriser. com و openSource. com منتشر شده است. دیو یک انجیلی لینوکس و مدافع منبع باز است. بیوگرافی کامل را بخوانید »

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

برچسب : نویسنده : سحر زکریا بازدید : 37 تاريخ : شنبه 21 مرداد 1402 ساعت: 19:32