# بررسی مصرف حافظه RAM در لینوکس با دستور `free`
### نمایش سریع و ساده وضعیت حافظه سیستم از طریق ترمینال
در دنیای لینوکس، بررسی میزان مصرف رم یکی از موارد مهم برای نگهداری و پایش سلامت سیستم است. دستور **`free`** یکی از ابزارهای خط فرمانی بسیار مفید و پرکاربرد برای مشاهدهی خلاصهای از وضعیت حافظه RAM و Swap است.
---
## 🧾 دستور پایه:
```bash
free
```
### خروجی نمونه:
```
total used free shared buff/cache available
Mem: 16384256 8421376 2246784 343296 5726128 7378944
Swap: 2097148 32768 2064380
```
---
## 🎯 توضیح ستونها:
| ستون | توضیح |
|------|-------|
| **total** | کل حافظه موجود |
| **used** | میزان حافظهی در حال استفاده |
| **free** | مقدار حافظهی آزاد |
| **shared** | حافظهی اشتراکگذاریشده بین پردازشها |
| **buff/cache** | حافظهی کش و بافر (استفادهشده توسط سیستم اما قابل آزادسازی) |
| **available** | حافظهی واقعاً در دسترس برای برنامهها |
---
## 🧪 نمایش با فرمت خواناتر (مگابایت / گیگابایت):
```bash
free -h
```
> `-h` مخفف **human-readable** است و خروجی را با واحدهایی مثل MB و GB نمایش میدهد.
---
## 💾 فقط نمایش حافظه RAM:
```bash
free -m
```
> خروجی را بر حسب **مگابایت** نمایش میدهد.
مقادیر بر حسب `-b` (بایت)، `-k` (کیلوبایت)، `-g` (گیگابایت) نیز قابلتغییر هستند.
---
## 🔁 بروزرسانی زنده مصرف رم (مانند top):
اگر میخواهی وضعیت رم را بهصورت لحظهای ببینی:
```bash
watch free -h
```
> خروجی هر ۲ ثانیه بهروزرسانی میشود.
---
## 🧠 تفاوت مهم: used vs available
ممکنه مقدار "used" زیاد باشه، اما سیستم هنوز حافظهی زیادی "available" داشته باشه.
چرا؟ چون لینوکس از رم آزاد برای کش فایلها استفاده میکنه تا سرعت سیستم بهتر بشه، ولی در صورت نیاز فوراً اون رم رو آزاد میکنه.
---
## 🔧 مقایسه چند واحد نمایش:
| دستور | توضیح |
|--------|--------|
| `free` | نمایش به صورت کیلوبایت |
| `free -m` | برحسب مگابایت |
| `free -g` | برحسب گیگابایت |
| `free -h` | خواناتر برای انسان |
| `watch free -h` | بروزرسانی لحظهای |
---
## ✨ ترکیب با سایر ابزارها برای مانیتورینگ بهتر
اگر بخوای دقیقتر بررسی کنی، میتونی از ابزارهای زیر در کنار `free` استفاده کنی:
- `top` یا `htop`: مانیتورینگ لحظهای سیستم
- `vmstat`: نمایش آمار حافظه، پردازنده و I/O
- `ps aux --sort=-%mem`: نمایش پردازشهایی که بیشترین رم مصرف میکنند
---
## نتیجهگیری:
دستور `free` ابزاری ساده ولی قدرتمند برای مشاهدهی سریع وضعیت حافظه رم و Swap در سیستمهای لینوکسی است. با گزینههایی مثل `-h` و `watch` میتونی خروجی رو به شکل دلخواه و کاربردیتر مشاهده کنی.