PDA

نسخه کامل مشاهده نسخه کامل : حل مشكل Out of Memory و User32.dll



sinaset
07-02-2008, 13:30
تا حالا شده موقع بالا آمدن سیستمتون با پیغام

Out of Memory یا user32.dll failure
مواجه بشید در حالیکه حافظه به اندازه کافی دارید؟
براي حل این مشکل وارد مسیر زیر در ریجستري شوید

Manager\SubSystems\Windows HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Session
متغیري بنام SharedSection رو پیدا کنید و روش دابل کلیک کنید تامقدارش رو ببینید

همانطور که می بینید مقدار این متغیر خیلی طولانی هست

SharedSection=xxxx,yyyy SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows%

من یه مقدارش رو اینجا کپی کردم(البته به جاييxxxx,yyyy عدد مي بينيد)در اين رشته متغيير Sharedsection رو ژيدا كنيد همانطور كه مي بينيد اين متغير

از الگوي زیر پیروي می کند:

SharedSection=xxxx,yyyy,zzzz

توضيح :متغير xxxx اندازه ماكزيمم system-wide heap (ناحيه از حافظه كه منابع مهم رو در خودش نگهداري مي كند)به كيلو بايت و متغير yyyy اندازه desktop heap را تعيين مي كند


متغير zzzz اندازه hidden desktop را تعيين مي كند بوسيله non-interactive processes بوجود مي ايد .كه بلا فاصله بعد از yyyy مياد!اگه اين متغير رو نداريد اون رو بايد بسازيد يعني بعد از مقدار yyyy بايد عدد 512 رو تايپ كنيد و كامپيوتر تون رو reset كنيد

اگر باز هم ژيغام Out of memory رو دريافت مي كنيد مقدار متغير yyyy رو به 256 تغيير بدهيد
همن چنين بايد مقدار RegistrySizeLimit رو از كليد زير حذف كنيد

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l

در ضمن بايد مقدار متغيير PagePoolSize را ازمسير زير به عدد صفر تغيير داد

.Management HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Session Manager\Memory

در نهايت كامپيوتر تون رو از دوباره ريستارت كنيد