حافظه مجازی سیستمی است که کامپیوتر یا سیستم عامل با استفاده از آن باعث میشود تا فرایندهای در حال اجرای کامپیوتر به غلط تصور کنند که حجم بالایی از حافظه ، را حتی بیشتر از میزانی که به طور فیزیکی در سیستم موجود است، در اختیار دارند . کامپیوتر از طریق ذخیره سازی اطلاعات پراستفاده در حافظه RAM و ذخیره اطلاعات کم استفاده در حافظه کندتر دیسک حافظه مجازی و مبادله داده ها بین این دو به هنگام دسترسی به دیسک، این کار را انجام میدهد .همانگونه که میدانید، سرعت RAM تقریبا صد برابر سرعت هارددیسک میباشد. برای بهینه سازی حافظه مجازی جهت افزایش کارآیی کامپیوتر ، حافظه مجازی ایستا از حافظه مجازی پویا موثرتر است. زیرا داده های موجود در دیسک پس از مدتی از حالت یکپارچه خارج شده و به دلیل افزایش و یا کاهش یافتن حجم حافظه مجازی پویاد، سیستم عامل ویندوز باید سکتورهای استفاده نشده از هارددیسک را یافته و به کمک آنها حافظه مجازی را بسازد. از سوی دیگر، حافظه مجازی ایستا، برای ذخیره داده ها در حافظه مجازی، از قبل فضای خاصی را پیش بینی مینماید.
ترفندهایی برای بهینه سازی حافظه مجازی:
1*قبل از تنظیم حافظه ایستا، ابتدا هارددیسک خود را یکپارچه نمایید (defrag) تا حافظه مجازی روی درایو هارددیسک به صورت پیوسته باشد.
2*حافظه مجازی را روی حالت ایستا (static) تنظیم کنید و حجم حداقل (minimum) و حداکثر (maximum) آن را یکسان انتخاب کنید.
3*در صورت امکان ، فایل حافظه مجازی را روی دیسک یا پارتیشنی بسازید که کمترین میزان دسترسی را دارا باشد. حتی داشتن پارتیشنی مستقل،
برای فایل حافظه مجازی ، میتواند یه امتیاز باشد.! زیرا هرگز یکپارچگی خود را از دست نخواهد داد.
4بیشتر سایتها توصیه میکنند که اندازه فایل حافظه مجازی را حداقل دو برابر حافظه فیزیکی موجود در سیستم، تنظیم نمایید. به عنوان مثال، اگر در سیستم خود،
128 مگابایت حافظه فیزیکی دارید، حداقل و حداکثر حجم حافظه مجازی را روی 256 تنظیم کنید. به نظر میرسد که اندازه حافظه فیزیکی وPage File،
باید نسبت معکوس داشته باشد. چنانچه، حجم حافظه فیزیکی سیستم شما زیاد باشد، page File کوچکتر خواهد بود.
بهتراست تا اندازه فایل Page File را حداقل دو برابر اندازه حافظه فیزیکی در نظر بگیرید: وقتی سیستم عامل به ویژه در مورد Win2k یا برنامه کاربردی ، باعث بروز خطا میگردد، ویندوز از وضعیت هسته کرنل در حافظه یادداشت برداری مینماید. سیستم عامل این عمل را با ایجاد یک فایل موقتی در پوشه Dr.Watson انجام میدهد و شما راهی جز حذف آن ندارید. تعیین حداکثر اندازه حجمPage File ، به نحوه استفاده شما از سیستم بستگی دارد. بهترین روش تعیین اندازه ، بدین صورت است که
«مثلا با باز کردن برنامه های بیشتر - کمی بیش از حد معمول به سیستم فشار وارد کنید و برنامهTask Manager در Win9x برنامه Performance Monitor را
اجرا نموده تا ببینید Page File تا چه حد مورد استفاده قرار می گیرد. اجرای این شیوه به تعیین اندازه مطلوب Page File کمک مینماید.
نکته: چنانچه به دلیل حجم کم حافظه فیزیکی ، بیش از حد از Page File استفاده مینمایید، جای بسی نگرانیست!. در بیشتر موارد ، مقدار حافظه ای که کاربران در اختیار دارند،بیش از حد نیاز آنهاست. به علاوه، RAM این روزها به قدری ارزان شده، که صرف هزینهای بیشتر برای کسب حافظه واقعی، ایده آل میباشد.
اکثر کامپیوترها در حال حاضر از حافظه های محدود با ظرفیت 64 ، 128 و یا 256 مگابایت استفاده می نمایند. حافظه موجود در اکثر کامپیوترها بمنظور اجرای چندین برنامه بصورت همزمان توسط کاربر ، پاسخگو نبوده و با کمبود حافظه مواجه خواهیم شد. مثلا" در صورتیکه کاربری بطور همزمان ، سیستم عامل ، یک واژه پرداز ، مرورگر وب و یک برنامه برای ارسال نامه الکترونیکی را فعال نماید ، 32 و یا 64 مگابایت حافظه، ظرفیت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر یک از نرم افزارهای فوق نخواهند بود. یکی از راهکارهای غلبه بر مشکل فوق افزایش و ارتقای حافظه موجود است . با ارتقای حافظه و افزایش آن ممکن است مشکل فوق در محدوده ای دیگر مجددا" بروز نماید. یکی دیگر از راهکارهای موجود در این زمینه ، استفاده از حافظه مجازی است .
در تکنولوژی حافظه مجازی از حافظه های جانبی ارزان قیمت نظیر هارد دیسک استفاده می گردد. در چنین حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته اند ، از حافظه خارج و در محلی خاص بر روی هارد دیسک ذخیره می گردند. بدین ترتیب بخش ی از حافظه اصلی آزاد و زمینه استقرار یک برنامه جدید در حافظه فراهم خواهد شد. عملیات ارسال اطلاعات از حافظه اصلی بر روی هارد دیسک بصورت خودکار انجام می گیرد.
مسئله سرعت
سرعت خواندن و نوشتن اطلاعات بر روی هارد دیسک بمراتب کندتر از حافظه اصلی کامپیوتر است . در صورتیکه سیستم مورد نظر دارای عملیاتی حجیم در رابطه با حافظه مجازی باشد ، کارآئی سیستم بشدت تحت تاثیر قرار خواهد گرفت . در چنین مواردی لازم است که نسبت به افزایش حافظه موجود در سیستم ، اقدام گردد. در مواردی که سیستم عامل مجبور به جابجائی اطلاعات موجود بین حافظه اصلی و حافظه مجازی باشد ( هارد دیسک ) ، باتوجه به تفاوت محسوس سرعت بین آنها ، مدت زمان زیادی صرف عملیات جایگزینی می گردد. در چنین حالتی سرعت سیستم بشدت افت کرده و عملا" در برخی حالات غیرقابل استفاده می گردد.
محل نگهداری اطلاعات بر روی هارد دیسک را یک Page file می گویند. در فایل فوق ، صفحات مربوط به حافظه اصلی ذخیره و سیستم عامل در زمان مورد نظر اطلاعات فوق را مجددا" به حافظه اصلی منتقل خواهد کرد. در ماشین هائی که از سیستم عامل ویندوز استفاده می نمایند ، فایل فوق دارای انشعاب swp است .
پیکربندی حافظه مجازی
ویندوز 98 دارای یک برنامه هوشمند برای مدیریت حافظه مجازی است . در زمان نصب ویندوز ، پیکربندی و تنظیمات پیش فرض برای مدیریت حافظه مجازی انجام خواهد شد. تنظیمات انجام شده در اغلب موارد پاسخگو بوده و نیازی به تغییر آنها وجود نخواهد داشت . در برخی موارد لازم است که پیکربندی مدیریت حافظه مجازی بصورت دستی انجام گیرد. برای انجام این کار در ویندوز 98 ، گزینه System را از طریق Control panel انتخاب و در ادامه گزینه Performance را فعال نمائید. در بخش Advanced setting ، گزینه Virtual memory را انتخاب نمائید.
با نمایش پنجره مربوط به Virtual Memory ، گزینه "Let me specify my own virtual memory setting" را انتخاب تا زمینه مشخص نمودن مکان و طرفیت حداقل و حداکثر فایل مربوط به حافظه مجازی فراهم گردد..در فیلد Hard disk محل ذخیره نمودن فایل و درفیلد های دیگر حداقل و حداکثر ظرفیت فایل را بر حسب مگابایت مشخص نمائید. برای مشخص نمودن حداکثر فضای مورد نیاز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعریف اندازه ائی به میزان دو برابر حافظه اصلی کامپیوتر برای حداکثر میزان حافظه مجازی توصیه می گردد.
میزان حافظه موجود هارد دیسک که برای حافظه مجازی در نظر گرفته خواهد شد بسیار حائر اهمیت است . در صورتیکه فضای فوق بسیار ناچیز انتخاب گردد ، همواره با پیام خطائی مطابق "Out of Memory" ، مواجه خواهیم شد. پیشنهاد می گردد نسبت حافظه مجازی به حافظه اصلی دو به یک باشد. یعنی در صورتیکه حافظه اصلی موجود 16 مگابایت باشد ، حداکثر حافظه مجازی را 32 مگابایت در نظر گرفت .
یکی از روش هائی که بمنظور بهبود کارائی حافظه مجاری پیشنهاد شده است ، ( مخصوصا" در مواردیکه حجم بالائی از حافظه مجازی مورد نیاز باشد ) در نظر گرفتن ظرفیت یکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنین حالتی در زمان راه اندازی کامپیوتر، سیستم عامل تمام فضای مورد نیاز را اختصاص و در ادامه نیازی با افزایش آن همزمان با اجرای سایر برنامه ها نخواهد بود. در چنین حالتی کارآئی سیستم بهبود پیدا خواهد کرد .
یکی دیگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فایل مربوط به حافظه مجازی است . در صورتیکه سیستم کامپیوتری دارای چندین هارد دیسک فیزیکی باشد ، ( منظور چندین درایو منظقی نیست ) می توان حجم عملیات مربوط به حافظه مجازی را بین هر یک از درایوهای فیزیکی موجود توزیع کرد. روش فوق در مواردیکه از حافظه مجازی در مقیاس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت .