-
June 23rd, 2014, 10:10
#1
Out of memory
سلام. من سرور مجازی دایرکت ادمین دارم و جدیدا یکی دو تا از اکانت هام دارن از مصرف بیشراز اندازه استفاده میکنن و کل سرویس بعضی مواقع پیغام خطای زیر رو میده:
Fatal error: Out of memory (allocated 34645008) (tried to allocate 39 bytes)
رم من 1024 هست و اکثرا حدود 300 تاش خالیه ولی برای یک لحظه رم پر میشه و این خطا ظاهر میشه.
حالا بغیر از دستور htop چطور میشه این اکانت پر مصرف رو پیدا کرد؟
آیا با ldf میشه و اگه میشه چطوری ؟
راهکار دیگه ای هم دارید بفرمایید.
میشه براشون مثلا 256 تا رم تعریف کرد تا از کل فضای رم استفاده نکنن ؟
ویرایش توسط maya2010 : June 23rd, 2014 در ساعت 10:18
-------------------------------------------------
-
-
June 23rd, 2014 10:10
# ADS
-
June 23rd, 2014, 10:22
#2
پاسخ : Out of memory

نوشته اصلی توسط
maya2010
سلام. من سرور مجازی دایرکت ادمین دارم و جدیدا یکی دو تا از اکانت هام دارن از مصرف بیشراز اندازه استفاده میکنن و کل سرویس بعضی مواقع پیغام خطای زیر رو میده:
Fatal error: Out of memory (allocated 34645008) (tried to allocate 39 bytes)
رم من 1024 هست و اکثرا حدود 300 تاش خالیه ولی برای یک لحظه رم پر میشه و این خطا ظاهر میشه.
حالا بغیر از دستور htop چطور میشه این اکانت پر مصرف رو پیدا کرد؟
آیا با ldf میشه و اگه میشه چطوری ؟
راهکار دیگه ای هم دارید بفرمایید.
میشه براشون مثلا 256 تا رم تعریف کرد تا از کل فضای رم استفاده نکنن ؟
این ارور رو داخل سایت نمایش می دهد؟
اگر بله باید در php.ini مقدار memory_limit را افزایش دهید.
-
تعداد تشکر ها ازYas-Host به دلیل پست مفید
-
June 23rd, 2014, 10:24
#3
پاسخ : Out of memory
آخه برای همه سایت ها اینجوریه. مقدار رم کل سرور من 1024 هست و چقدر برای مموری لیمیت بزارم؟
-------------------------------------------------
-
-
June 23rd, 2014, 10:26
#4
پاسخ : Out of memory

نوشته اصلی توسط
maya2010
آخه برای همه سایت ها اینجوریه. مقدار رم کل سرور من 1024 هست و چقدر برای مموری لیمیت بزارم؟
این ارور کاملا معلوم هست که php سرور و سایت مورد نظر شما بیش از مجاز تعریف شده استفاده می کند.
بهترین مقدار برای memory_limit : -1 می باشد.
-
تعداد تشکر ها ازYas-Host به دلیل پست مفید
-
June 23rd, 2014, 10:29
#5
پاسخ : Out of memory
یعنی برای هر اکانت جداگانه این php.iniساخته بشه و تو روت اصلیش قرار بگیره و مقدارش هم -1 باشه؟
پس اینکه میگن مقدار رو 64 بزارید برای چیه؟
-------------------------------------------------
-
-
June 23rd, 2014, 10:41
#6
پاسخ : Out of memory

نوشته اصلی توسط
maya2010
یعنی برای هر اکانت جداگانه این php.iniساخته بشه و تو روت اصلیش قرار بگیره و مقدارش هم -1 باشه؟
پس اینکه میگن مقدار رو 64 بزارید برای چیه؟
خیر
دستور زیر را در SSH وارد کنید.
php --ini
سپس فایل آدرس فایل php.ini را به شما میدهد و سپس دستور زیر رو وارد کنید :
nano /usr/local/lib/php.ini
سپس در فایل بالا با زدن کلید های ترکیبی ctrl+w اقدام به سرچ کلمه memory limit کرده و مقدار آن را -1 بزارید (-1 بهترین مقدار برای کار شما می باشد).
سپس با ctrl+x و y سیو کنید و وب سرور با با دستور service httpd restart یا service nginx restart ریستارت کنید.
-
تعداد تشکر ها ازYas-Host به دلیل پست مفید
-
June 23rd, 2014, 10:54
#7
پاسخ : Out of memory
خوب این -1 که رم رو کمتر میکنه. الان رم مثلا یکی از سایت ها که ارور میده memory limit روی 18 بود ارور میداد. اگه -1 بکنم که دیگه اوضاعش بدتر میشه !
-------------------------------------------------
-
-
June 24th, 2014, 01:31
#8
پاسخ : Out of memory
-
تعداد تشکر ها از MajorHost به دلیل پست مفید
-
June 24th, 2014, 07:59
#9
پاسخ : Out of memory

نوشته اصلی توسط
MajorHost
-1 به معنای نامحدود هست
بله .
میتونید از 512M هم استفاده کنید ولی ممکن است یک سایت در process از مقدار رم بیشتری نیاز داشته باشد!
-
تعداد تشکر ها از Yas-Host به دلیل پست مفید