RAM یا Random Access Memory بخشی از کامپیوتر است که دیتای در حال پردازش را زخیره میکند.
این زخیره سازی میتواند خود برنامه یا اطلاعاتی که برنامه لازم است با سیستم عامل تبادل نماید باشد.
بنا براین RAM بخش زخیره سازی است که نیاز به سرعت بسیار زیادی برای خواندن و نوشتن اطلاعات دارد.
اطلاعات RAM فرار در زمان ریبوت شدن سرور یا کامپیوتر است .
برعکس آن اطلاعات روی هارد دیسک کامپیتور برای زخیره سازی اطلاعات در زمان طولانی در حجم بزرگتر و سرعت کمتری میباشد.
سوال : چه میزان RAM سرور من استفاده میکند ؟
یک سرور میزبانی یا هاستینگ میتواند بین 1 تا بیش از 16ماژول رم داشته باشد و هر ماژول میبتواند یک رم با ظرفیت 1 تا 4Gb باشد.
بهترین راه برای مشاهده میزبان رم کامپیوتور یا سرور استفاده از دستور مطابق زیر است :
free -m
total used free shared buffers cached
Mem: 11796 2302 9494 0 224 1199
-/+ buffers/cache: 877 10919
Swap: 8189 0 8189
نتیجه آن میزان RAM کامپیوتر را بصورت دقیق و میزان RAM استفاده شده و قابل دسترسی را مشخص میکند.
میزان Buffer و Cache استفاده شده و قابل دسترسی نیز در نتیجه بالا مشخص شده است.
Cache حافظه ای است که میزان اطلاعاتی که به آن دسترسی پیدا شده و مجدداً مورد نیاز است ذخیره میشود. تفاوت اصلی بینی حافظه Cached استفاده شده و حافظه رم استفاده شده در این است که حافظه Cach در صورت ضرورت و نیاز قابل تخلیه و استفاده مجدد است.
اگر شما از cPanel استفاده میکنید در زیر گزینه Service Status میتوانید گزینه free را مشاهده نمایید.
سوال : چرا سرور میزان Ram بیشتری استفاده میکند و چگونه میتوان این میزان را کاهش داد ؟
اولین قدم در تشخیص و کنترل میزان رم استفاده شده در سرورهای میزبانی مشاهد میزان رم استفاده شده در پروسس های سیستم و تشخیص آنکه کدام پروسس بیشترین رم را استفاده میکند. بهترین روش اجرای دستور top در Shell Command میباشد.
زمانی که دستور Top را اجرا میکنید Shift+m را بزنید تا پروسس های سیستم بر اساس میزان Memory مرتب شود.پس از آن اجاز دهید دستور Top برای 30 تا 60 ثانیه کار کند تا نتایج خروجی مشخص شود.
ستون RES مقدار واقعی رم استفاده شده را مشخص میکند و MEM% نحوه مدیریت دستور Top را مشخص میکند.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
31307 named 20 0 2492m 108m 2424 S 0.0 0.7 24:49.34 named
28178 mysql 20 0 12.7g 88m 3864 S 2.6 0.5 2695:47 mysqld
19851 nobody 20 0 301m 80m 5976 S 0.0 0.5 0:13.13 httpd
19797 nobody 20 0 298m 77m 6208 S 0.0 0.5 0:13.43 httpd
20097 nobody 20 0 297m 76m 5788 S 0.0 0.5 0:07.97 httpd
30932 nobody 20 0 295m 74m 6344 S 0.0 0.5 0:02.63 httpd
30920 nobody 20 0 295m 74m 4448 S 0.0 0.5 0:01.45 httpd
به خاطر داشته باشید که بعضی از پروسس ها دارای پروسس های زیر شاخه هستند . در دستور اجرا شده Top در بالا پردازش named بیشترین استفاده از Ram را داشته است. با استفاده از دستور pstree میتوانید پروسس ها و زیرشاخه های آن را مشاهده نمایید.
بر اساس آنکه چه پروسس و زیرشاخه ای بیشترین میزان استفاده از Ram سرور را دارد میتوانید با روش های مختلف آن میزان استفاده را محدود کنید.
حتماً میتوانید با جستجوی این جمله “reduce ____ memory usage” در گوگل به نتایج خوبی رسید.
کلیه مشترکین سرورهای اختصاصی ایران وب هاست میتوانند در صورت بروز مشکل یا برخود با مساله مذکور در رابطه با کنترل میزان حافطه با بخش پشتیبانی ایران وب هاست تماس حاصل نمایند. همیشه روش های خلاقی در تیم پشتیباتی ما برای مدیریت سرورها وجود دارد .