چهارشنبه 28 شهریور 1397 | به روز شده: 32 دقیقه قبل

HAMSHAHRIONLINE

The online version of the Iranian daily Hamshahri
ISSN 1735-6393
سه شنبه 22 مرداد 1387 - 21:10:56 | کد مطلب: 60478 چاپ

چطور حافظه مجازی کار می‌کند؟

شهر > شهر مجازی - همشهری آنلاین - رشید عسگری:
حافظه مجازی یا Virtual Memory یک روش نرم افزاری است که جزوی از سیستم عامل‌ است و کمک بزرگی در افزایش قابلیت‌های حافظه و مدیریت آن با هزینه‌ای کم می‌کند.

امروزه کامپیوتر‌ها دارای 256مگابایت تا 1یا2گیگابایت RAM هستند [RAMچطور کار می‌کند؟]. 256مگابایت برای سیستم عامل‌ها و برنامه‌هایی که اینروزها روی آن‌ها اجرا می‌شود کمترین میزان RAM است. ولی به هر حال تنها برای اجرا کردن سیستم عامل ویندوز و دو یا سه برنامه دیگر کافی است. با همین میزان RAM اگر چیزی به نام VirtualMemory وجود نداشت، هربار که این برنامه‌ها با هم اجرا می‌شدند RAM به راحتی پر می‌شد و دیگر حتی ماوس را هم نمی‌توانستید روی صفحه تکان دهید!

با استفاده از VirtualMemory کامپیوتر اطلاعاتی که روی RAM برای مدتی بدون استفاده مانده است را به هارد دیسک انتقال می‌دهد و با این کار فضای نسبتاً زیادی را برای سیستم خالی می‌کند. [چطور حافظه کامپیوتر کار می‌کند؟]

این جابجایی به طور خودکار و توسط سیستم عامل انجام می‌شود [چطور سیستم عامل کار می‌کند؟] و اگر از میزان اطلاعاتی که توسط RAM شما ذخیره می‌شود اطلاع داشته باشید، فکر می‌کنید که همان 256مگابایت RAM برای شما نامحدود است.

این برای شما از نظر اقتصادی هم به صرفه است چرا که هارد دیسک بسیار ارزان تر از RAM است.

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

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

در غیر این‌صورت کامپیوتر باید اطلاعات را بین RAM و هارد دیسک مرتباً جابجا کند. این کار Thrashing نام دارد و سرعت کامپیوترتان را به شدت کاهش می‌دهد.

قسمتی از هارد دیسک که اطلاعات RAM را ذخیره می‌کند PageFile نام دارد و سیستم عامل اطلاعات را از این فایل به RAM می‌فرستد و از آن می‌گیرد. در سیستم عامل ویندوز این فایل‌ها پسوند«.SWP» دارند.

در اینجا به چگونگی تنظیم VirtualMemory به صورتی دستی می‌پردازیم.

سیستم عامل ویندوز دارای یک سری تنظیمات برای مدیریت VirtualMemory است. برای ورود به صفحه تنظیمات آن به Control Panel بروید و به System وارد شوید. در System به پرونده Advanced وارد شوید. اولین دکمه Settings را بزنید.

وارد پرونده Advanced شوید. در قسمت Virtual Memory روی Change کلیک کنید. در حالت عادی پیش فرض سیستم مناسب است. اگر تنظیمات را روی System Managed Size قرار دهید سیستم عامل به طور خودکار مقدار مینیمم و ماکسیمم VirtualMemory  را مشخص می‌کند. برای تنظیم دستی Custom Size را انتخاب کنید.  همچنین می‌توانید درایو(Drive) مورد نظر خود را انتخاب کنید.

مینیمم مقدار برای درایو C 2مگابایت است. مقدار ماکسیمم محدودیتی ندارد ولی یک تنظیم معمول دو برابر مقدار RAM است. یعنی اگر 1گیگابایت RAM دارید مقدار ماکسیمم را روی 2 گیگابایت قرار دهید. اگر مقدار کمی را قرار دهید با پیغام خطاهای Out Of Memory روبرو می‌شوید.

اگر این مقادیر را به طور دستی تنظیم می‌کنید و هر بار متوجه می‌شوید که باید مقدار ماکسیمم را افزایش دهید، آنگاه باید RAM را افزایش دهید. یکی از ترفندهایی که می‌توانید استفاده کنید این است که میزان مینیمم و ماکسیمم را یکسان قرار دهید. این کار سیستم عامل را مجبور می‌کند مقدار PageFile را از همان ابتدا ثابت نگاه دارد.

این کار از تغییر اندازه این فایل هنگام باز کردن برنامه‌ها جلوگیری می‌کند و سرعت سیستم را افزایش می‌دهد. این کار مخصوصاً در اجرای برنامه‌های گرافیکی تأثیر دارد. روش دیگر، پخش کردن این فایل در درایو‌های مختلف است. این کار اصولاً هنگامی مناسب است که هارد دیسکی با ظرفیت بسیار بالا دارید.