PDA

نسخه کامل مشاهده نسخه کامل : سوالي در مورد Prefetch



ذوالقرنين
18-03-2006, 10:19
سلام خدمت دوستان عزيز. اولا كه عيد همگي مبارك باشه و انشاالله كه سال خوب و خوشي رو پيش رو داشته باشين . سوالي از شما دوستان داشتم و ان اينكه در تاپيكي كه مربوط به ريجستري و افزايش سرعت ويندوز بود دوستي مطلبي نوشته بود كه يكي از بندهاي ان شامل پاك كردن محتويات فولدر Prefetch در شاخه ويندوز بود . سوال من اينكه كه اين فايلها با پسوند pf چه نقشي رو براي ويندوز ايفا ميكنند و ايا پاك كردن اونها براي ويندوز خطرناك نيست.باتشكر
پيروز و بهروز باشيد.

M.R.M
18-03-2006, 10:54
سلام دوست عزيز.
ورود شما را به انجمنهاي پي سي ورلد تبريك ميگويم و من نيز سالي پربار و توام با موفقيت فراوان را براي شما آرزومند هستم :happy: .
در خصوص اين پوشه و محتويات آن به هيچ وجه جاي نگراني نيست.
عملكرد اين پوشه براي بارگذاري سريع برنامه هاي اجرا شده در ويندوز XP ( و البته ويندوز Server 2003 ) ميباشد ، اگر شما محتويات اين پوشه را حذف نماييد ويندوز در مواقع نياز مجددا آنها را ايجاد ميكند و مشكلي از اين جهت پيش نخواهد آمد.
اما كمي در مورد اين پوشه و عملكرد آن توضيحات تكميلي ميدهم كه اميدوارم براي دوستان مفيد باشد :
اين پوشه در مسير زير قابل دسترسي ميباشد :
systemroot%\prefetch%
اين پوشه باعث ميشود عملكرد بارگذاري برنامه از روي حافظه سيستم افزايش يابد و برنامه ها سريعتر اجرا گردند ، موارد جزئي تر بسياري نيز در مورد اين پوشه وجود دارد ، براي مثال دسترسي در زمان Boot و اعمال فرامين برخي كامپوننت هاي مهم و ...

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اما زماني كه فايلهاي درون اين پوشه افزايش ميابد ، ميتواند باعث اختلال و كاهش سرعت سيستم گردد. اين فايلها براي بارگذاري برنامه ها از روي حافظه فراميني را به ويندوز تحميل ميكنند ، حال اگر شما عملا با آن برنامه خاص كه مد نظر ويندوز ميباشد كاري نداشته باشيد اين فرامين باعث افزايش كاركرد سي پي يو و حافظه و در نهايت كاهش سرعت سيستم ميشود.
براي پيشگيري از اين امر شما ابتدا پوشه prefetch را در مسيري كه در بالا ذكر كردم خالي از فايل نماييد ( خود پوشه را به هيچ وجه حذف ننماييد ). براي دسترسي به پوشه تنها كافي است عبارت systemroot%\prefetch% را در Run تايپ نموده و اينتر را بزنيد.
سپس به مسير زير در رجيستري مراجعه نماييد :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\PrefetchParameters
در صفحه سمت راست به دنبال كليد EnablePrefetcher بگرديد و آن را به دلخواه به صورت زير مقدار دهي نماييد :
0 : غير فعال نموده قابليت
1 : اجراي نرم افزارهاي با تحميل فرامين به ويندوز XP
2 : عملكرد در زمان Boot ( بسيار مفيد براي افزايش سرعت بوت سيستم )
3 : عملكرد در تمام موارد ( هم بوت و هم نرم افزارها )

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

مقدار مورد نظر به كليد اختصاص دهيد و از رجيستري خارج شويد و سيستم را يك بار Restart نماييد تا تغييرات اعمال شود.
بسته به نوع مشخصات سيستم كاربر ، هر يك از اين مقادير پيشنهادي ممكن است اثر خاصي بر سيستم فرد داشته باشد.
اگر از حافظه 128 استفاده ميكنيد توصيه ميكنم از مقدار 0 استفاده نماييد و اگر از حافظه 512 استفاده ميكنيد از مقدار 3 و مابين اين دو مقدار 2 پيشنهاد ميشود.
با يك دستور Command ساده نيز ميتوانيد اين كار را انجام دهيد به شكل زير :
ابتدا وارد محيط cmd شويد.
دستور زير را تايپ كنيد و Enter را بزنيد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سپس عبارات زير را تايپ نماييد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

براي اتمام دكمه F6 را روي كيبورد بفشاريد و سپس Enter را بزنيد.
سپس ميتوانيد فايل delpreffolder.bat را كه ساخته ايد ( در همان مسيري كه دستور را اجرا كرده ايد ) در scheduled task قرار دهيد و آن را برنامه ريزي نماييد كه براي مثال در هر بار Restart و يا Shutdown ويندوز به صورت خودكار اين كار را براي شما انجام دهد.
اميدوارم اين مطالب براي شما مفيد واقع گردد .
باز هم اگر سوالي بود حتما مطرح نماييد :happy: .
شاد و پيروز و موفق باشيد :happy: .

ذوالقرنين
19-03-2006, 12:45
دوست عزيزم سلام . اقا يك دنيا متشكرم ،لطف كردي . ببخشيد ميخواستم با Pm تشكر كنم كه يه پيغامي مي اومد و مي گفت اگه اين كارو تكرار كنم يا علي...
پيروز و بهروز باشيد.

ذوالقرنين
20-03-2006, 06:07
سلام و صد سلام به تمامي شما دوستان عزيز و گرامي . اميدوارم كه اوقات بكام باشه و دلتون مثل بهار طبيعت سرسبز باشه. مزاحم شدم يه سوال بپرسم ، خلاصه شرمنده.راستش بعد از چند روز كه از نصب ويندوز مي گذره وقتي به اينترنت وصل ميشم بايد براي يكي دو دقيقه به سيستم دست نزنم وگرنه سيستم هنگ ميكنه البته اين هنگ كردن چيزي حدود ده دقيقه طول ميكشه و باقي ماجرا.
قبلا اين سوال رو جاي ديگه اي هم مطرح كرده بودم و دوستان راهنماييهاي متفاوتي كرده بودند.دوستي گفته بود كه اين حالت براي ياهو مسنجر است ولي من اولا كه هنوز اين برنامه رو اجرا نكرده اين حالت پيش مياد و دوما هم اين برنامه رو از ليست Startup ويندوز برداشتم. دوستي گفته بود كه سيستمم ويروسي شده ولي من تازه ديروز ويندوز نصب كردم و تازه جايي هم نرفتم كه مشكوك باشه (تازه اين براي اولين بار نيست كه اين حالت اتفاق مي افته). يه دوست ديگه راهنمايي كرده بود كه Ctrl+Alt+Del رو بگير ببين چي داره از سي پي يو استفاده ميكنه ولي اخه اين دكمه ها هم كار نميكنند(در حالت هنگ) . جالبه بدونيدكه اگه بعد از اتصال به اينترنت به مدت ده الي پانزده ثانيه به سيستم دست نزنم اين حالت اتفاق نمي افته. برنامه هايي كه بصورت خودكار كار Update رو انجام ميدن هم از كار انداختم مثل Auto Update ويندوز و LiveUpdate نرتون . ديگه نمي دونم چيكار كنم . اين چندمين ويندوزه كه به اين درد دچارميشه و .... يك دنيا ممنون ميشم اگه راهنمايي بفرماييد كه عيب كار از كجا ميتونه باشه. يادم رفت بگم كه در اين بين فقط My Computer كار ميكنه.
پيروز و بهروز باشيد.
با تشكر

Mohammad
22-03-2006, 18:30
سلام به همگی عزیزان
مثل همیشه از توضیحات جامع و کامل محمدرضا عزیز ممنونم.
موردی که باهاش برخورد کردم و دوست داشتم دلیلش رو بدونم اینه که مقدار EnabalePrefetcher من 5 هست.دلیلش چیه؟
ممنونم.

Captain Nemo
22-03-2006, 19:00
ذوالقرنين عزیز، من دقیقا علت رو نمیدونم. اما وقتی میگی ویندوز رو تازه ریختی و همچنین این مشکل رو قبلا هم داشتی باید علت از یه چیز ثابت توی کامپیوترت باشه که با عوض کردن ویندوز هم حل نشده. پس یا مشکل از سخت افزاره و یا cd ی ویندوزت مورد داره. بنابر این اولین کاری که میتونی بکنی نصب ویندوز با یه cd دیگه هست. مثلا اگه این ویندوزت sp2 هست اینبار sp1 رو نصب کن.

Captain Nemo
22-03-2006, 19:32
M.R.M عزیز. من یک سوال دربارۀ این پوشه Prefetch داشتم. من یه جایی خونده بودم که اگر میخواید ویندوزتون بیشتر به شما جواب بده تا میتونید باهاش کار کنید. چون ویندوز میتونه بفهمه که شما با کدوم برنامه ها بیشتر کار میکنید و براتون اونها رو سریعتر از بقیه اجرا میکنه. من خودم هم اینرو تجربه کردم. مثلا وقتی برای بار اول windows media player رو اجرا میکنم زمانی که طول میکشه تا لود بشه بسیار بیشتر از دفعات بعدیه. همین حالت برای ie, opera,... هم وجود داره. حالا من میخواستم بدونم ایا این قضایا به همین فولدر ربط داره یا نه.
یه سوال دیگه؛ من بعلت اینکه رمم تو ویندوز 112 هست(در اصل 128 هست) کندی سرعت رو کاملا احساس میکنم. مثلا من بار اولی که ie رو بعد از start up شدن ویندوز اجرا میکنم، حدودا 15-20 ثانیه طول میکشه تا لود بشه. اگر دوباره روی ایکون ie کلیک کنم بعد از 3-4 ثانیه لود میشه (البته قبلش پنجرۀ اولی ie رو بستم) و در اخر اگه از طریق File|New|Window که توی پنجرۀ ie هست اقدام کنم تقریبا 1-2 ثانیه طول میکشه تا ie لود بشه. سوال من اینه که علت این تفاوت زمانی ها چیه، مخصوصا توی حالتی که اول گفتم، یعنی بعد از بستن ie دوباره بازش کنم. چون تو حالت های بعدی به هر حال برنام تو رم بارگذاری شده ، اما تو اون حالت باید دوباره از هارد بیاد تو رم.

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


*** البته خودم میدونم که این سوالاتی که کردم خیلی تو ویندوز ریز شده و ممکنه هیچ جا جوابی براشون پیدا نکنم، چون به احتمال زیاد برای جواب دادن بهشون به کد ویندوز نیازه، مثلا من یه بار تو c++ builder یه برنامه نوشتم که توش منویی داشت که دستورات cut-copy -paste و سایر کارای معمول منوی edit بود. خیلی دنبال کدهای دستورات cut و ... گشتم اما فقط اونجا یه سری تابع بود که من فراخوانیشون میکردم، ولی کدهای توابع نبود. بعدا فهمیدم که این کدها در انحصار مایکروسافته.

Captain Nemo
23-03-2006, 23:38
دوستان ، جوابی برای سوالات من ایا پیدا نکردید؟ من درسته که اول سوالاتم اسم دوست خوبمون M.r.m رو نوشتم. اما اگه بقیۀ دوستان اطلاعاتی دارند هم دریغ نکنند.

پیشاپیش ممنونم.

M.R.M
24-03-2006, 15:09
سلام به تمام دوستان عزيز.
ضمن تشكر مجدد بابت محبت هاي شما عزيزان و آرزوي مجدد سالي خوش و پر بركت براي تمامي شما عزيزان ، عذر خواهي ميكنم از اينكه ممكن است پاسخ به سوالات شما عزيزان كمي طولاني شده باشد. در هر صورت اميدوارم بنده را ببخشيد :blush: . اما پاسخهاي شما عزيزان ( به ترتيب ) :
در مورد مشكل شما دوست عزيز ( ذوالقرنين ) ، با توجه به اينكه شما تقريبا تمام اصول اوليه را انجام داده ايد و نتيجه مثبتي بدست نياورده ايد ، من تنها يك سوال كلي از شما ميپرسم ، ميخواستم اگر برايتان امكان دارد كمي اين جمله خود را براي بنده و ساير دوستان عزيزم كه قصد راهنمايي شما را دارند بسط دهيد :

" راستش بعد از چند روز كه از نصب ويندوز مي گذره وقتي به اينترنت وصل ميشم بايد براي يكي دو دقيقه به سيستم دست نزنم وگرنه سيستم هنگ ميكنه البته اين هنگ كردن چيزي حدود ده دقيقه طول ميكشه و باقي ماجرا "

منظور دقيق شما از چند روز بعد از نصب ويندوز چيست ؟ از اين جمله شما اينچنين برداشت ميشود كه ويندوز پس از نصب مشكلي ندارد و پس از چند روز و نصب نرم افزارهاي خاصي در آن چنين اتفاقي برايش رخ ميدهد. در هر صورت پاسخ به اين سوال ميتواند بنده و دوستان عزيزم را در يافتن ريشه مشكل شما بيشتر ياري نمايد. اگر مشكل اينچنين باشد ، از يك نرم افزار خاص ميباشد كه ميتوانيد به اين ترتيب آن را بيابيد. اگر مشكل از همان آغاز نصب ويندوز وجود دارد ممكن است سخت افزاري باشد كه آن نيز پس از پاسخگويي دقيق شما قابل پيگيري و بررسي ميباشد :happy: .
************************************************** ********************************
در مورد سوال شما mohammadkh عزيز ، اعداد و مقادير اصلي قابل تنظيم براي اين كليد همانهايي هستند كه ذكر نمودم ، اما عدد 5 نيز در اين حالت وجود دارد ، اگر مقدار اين كليد 5 باشد نهايت استفاده از اين قابليت انجام ميشود ( سرعت اجراي نرم افزارها و دسترسي به اطلاعات به نهايت خود در سيستم Prefetch ميرسد ) ، معمولا در سيستمهاي عادي به هيچ عنوان توصيه نميكنم مقدار را 5 اختصاص دهيد. زيرا ممكن است با كمبود شديد فضاي درايو ويندوز پس از مدتي مواجه شويد و مسلما از عواقب بعد از آن مطلع هستيد. اما اگر سيستمي با فضاي اختصا داده به درايو ويندوز زيادي داريد ، ميتوانيد از اين مقدار استفاده نماييد و مسلما نتيجه بسيار بهتري را در افزايش سرعت مشاهده خواهيد نمود.
************************************************** ********************************
و اما در مورد سوال شما toprix عزيز كه عذر خواهي مجددي از شما بابت دير كرد پاسخ مينمايم و اميدوارم بنده را ببخشيد :blush: :
در مورد پوشه و فايلهاي قسمتPrefetch دقيقا درست فكر كرده ايد ، اين پوشه باعث بهبود كارايي سيستم و افزايش سرعت اجراي نرم افزارها در سيستم شما ميشود و كمك بسيار مناسبي به حافظه سيستم مينمايد ( در كنار قابليتهايي همچون Virtual Memory ).
در مورد كاهش سرعت به علت كمبود فضاي RAM ، امروزه اين فضا از نظر شخصي بنده ، براي يك سيستم عادي مناسب ميباشد ( عالي خير اما مناسب بله ). شما ميتوانيد با امكانات خاص ويندوز اين كمبود سرعت را به دليل كاهش نسبي حافظه جبران نماييد.
در مورد افزايش سرعت بوت و اجراي نرم افزارها به سادگي ميتوانيد از همين قابليت پوشه Prefetch استفاده نماييد. در مورد افزايش سرعت اجراي پنجره ها و مديريت پنجره ها در ويندوز و همچنين اجراي روان تر نرم افزارها ، در صورتي كه از هارد ديسك با ظرفيت مناسب ( براي مثال بالاي 20 يا 30 گيگابايت ، كه امروزه امري طبيعي است ) استفاده ميكنيد ، ميتوانيد با افزايش فضاي Virtual Memory تا حدود 1500 تا 2000 مگابايت ، كمبود حافظه RAM را به سادگي جبران نماييد و به هيچ وجه احساس كاهش اين فضا را ننماييد. همچنين استفاده از هارد ديسكهاي دور بالا نيز سرعت دسترسي به اطلاعات را افزايش ميدهد.
و اما در مورد سوال شما درباره Hibernate ، در مورد اينكه Hibernate چيست و چگونه كار ميكند مقاله بسيار مفيدي توسط امير عزيز تهيه شده و در انجمن وجود دارد ، شما ميتوانيد با مراجعه به آدرس زير آن را مطالعه بنماييد :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
به صورت مختصر اگر بخواهم در مورد عملكرد اين قسمت برايتان توضيح دهم آن را به حافظه مجازي تشبيه ميكنم ، در حافظه مجازي پس از اختصاص فضا فايلي به نام PAGEFIL.SYS در درايو تعيين شده ايجاد ميگردد كه با توجه با ساختار خاص برنامه ريزي شده ميتواند تا حدودي نقش حافظه RAM را اعمال نماييد و حجم آن برابر حجمي است كه شما به آن اختصاص ميدهيد.
در مورد Hibernate هم تقريبا مشابه همين امر اتفاق مي افتد ، پس از فعال نمودن اين قابليت در ويندوز فايلي با نام HIBERFIL.SYS در درايو ريشه ويندوز ايجاد ميگردد كه اطلاعات خاص مربوط به برنامه هاي در حال اجرا و ... در آن ذخيره ميشود. حجم اين فايل بستگي مستقيم به نرم افزارهاي در حال اجرا در زماني دارد كه شما سيستم خود را به حالت Hibernate ميبريد و متغير ميباشد.
متاسفانه بنده در مورد ساختار برنامه نويسي اين فايلها اطلاعات چنداني ندارم اما ميتوانيد در اين مورد از دوستان عزيزم در انجمن برنامه نويسي كمك بگيريد.
اميدوارم اين اطلاعات براي شما مفيد بوده باشد و توانسته باشم در حد توانم پاسخهاي مناسبي به شما عزيزان ارائه دهم :) .
باز هم اگر سوالي بود بنده در خدمت هستم و حتما مطرح نماييد :happy: .
شاد و پيروز و موفق باشيد.