نحوه بررسی میزان رم استفاده شده در لینوکس
هنگام عیب یابی سیستم یا کاهش سرعت برنامه ها، یکی از اولین مواردی که باید بررسی کنید ، میزان استفاده از حافظه سیستم است. در این مقاله نحوه بررسی میزان رم استفاده شده در لینوکس با استفاده از چندین دستور مختلف توضیح داده شده است
فرمان Free
free
متداول ترین دستور برای بررسی میزان استفاده از رم سیستم لینوکس است. اطلاعات مربوط به کل رم ، میزان استفاده شده و میزان آزاد را نشان می دهد
به طور کلی free
با گزینه -h
فراخوانی می شود که به معنی چاپ خروجی در قالب قابل خواندن توسط انسان است :
1
|
free -h |
total used free shared buff/cache available
Mem: 3936 1087 252 130 2596 2427
Swap: 0 0 0
معنی هر ستون چیست:
- total – مقدار کل حافظه قابل استفاده توسط برنامه ها
- used – حافظه استفاده شده. اینگونه محاسبه می شود:
used = total - free - buffers - cache
- free – حافظه آزاد / استفاده نشده
- buff / cache – حافظه ترکیبی که توسط بافر هسته و حافظه کش صفحه و اسلب استفاده می شود. در صورت نیاز توسط برنامه ها ، این حافظه در هر زمان قابل بازیابی است
- available – تخمینی از حافظه ای که برای شروع برنامه های جدید ، بدون swap در دسترس است
دستور Free
اطلاعات حافظه فیزیکی و Swap سیستم را چاپ میکند
فرمان
Top
top
یک ابزار خط فرمان است که اطلاعات زمان حال را در مورد فرآیندهای در حال اجرا نمایش می دهد. همچنین خلاصه اطلاعات سیستم ، از جمله استفاده از رم را نشان می دهد
برای فراخوانی این فرمان ، به سادگی تایپ کنید top
:
1
|
top |
خروجی چیزی شبیه به این خواهد بود :

سرصفحه خروجی شامل اطلاعاتی در مورد حافظه فیزیکی و آزاد و استفاده شده از سیستم می باشد
ستون%MEM
اطلاعات در مورد میزان استفاده از حافظه فیزیکی موجود برای هر فرآیند در حال اجرا است
/proc/meminfo
ساده ترین روش برای بررسی میزان استفاده از حافظه RAM ، نمایش محتوای پرونده مجازی/proc/meminfo
است. این فایل توسط free
، top
، ps
و دیگر دستورات اطلاعات سیستم استفاده شده است
از less
یا cat
جهت مشاهده مطالب پرونده /proc/meminfo
استفاده کنید :
1
|
cat /proc/meminfo |
این پرونده شامل مقدار زیادی از اطلاعات در مورد حافظه سیستم و استفاده از swap است :
MemTotal: 4030592 kB
MemFree: 401804 kB
MemAvailable: 2507504 kB
...
اطلاعات موجود در پرونده /proc/meminfo
را می توان در اسکریپت های پوسته تجزیه و استفاده کرد
اسکریپت ps_mem
ps_mem
یک اسکریپت پایتون است که میزان استفاده از حافظه RAM در هر برنامه را گزارش می کند. این برنامه با پایتون 2 و 3 کار می کند و قابل نصب با pip
است :
1
|
sudo pip3 install ps_mem |
این اسکریپت به دسترسی ادمین نیاز دارد. برای راه اندازی آن ، sudo ps_mem
را تایپ کنید :
1
|
sudo ps_mem |
خروجی شامل حافظه هر برنامه در حال اجرا به ترتیب صعودی خواهد بود :
Private + Shared = RAM used Program
...
11.9 MiB + 20.2 MiB = 32.1 MiB nginx (4)
8.2 MiB + 42.4 MiB = 50.6 MiB systemd-journald
55.8 MiB + 307.2 MiB = 363.0 MiB php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB redis-server
578.2 MiB + 578.6 MiB = 1.1 GiB mysqld
---------------------------------
2.2 GiB
=================================
این اسکریپت زمانی مفید است که می خواهید بفهمید که کدام برنامه در حال اجرا، بیشتر حافظه سیستم شما را می گیرد