
به اشتراک بگذارید
- سطح فایلسیستم (Filesystem Level): برای مشاهده وضعیت کلی پارتیشنها و فضای آزاد و مصرفی کل دیسک.
- سطح دایرکتوری و فایل (Directory & File Level): برای یافتن اینکه کدام دایرکتوری یا فایلها بیشترین حجم را اشغال کردهاند.
Inode یا گره شاخص، یک ساختار داده است که متادیتای هر فایل را ذخیره میکند (مانند مالکیت، دسترسیها، زمان ایجاد و…، نه محتوای آن).
- ✅ تعداد Inodeها محدود است و اگر تمام شوند (حتی اگر فضای دیسک پر نشده باشد)، نمیتوانید فایل جدیدی ایجاد کنید.
آنچه در این مقاله میخوانید:

فضای دیسک (Disk Space) در لینوکس چیست؟
/ (Root Directory)
├── /boot (هسته سیستم)
├── /etc (فایلهای پیکربندی)
├── /home (فایلهای کاربران)
│ └── user1
└── /var (فایلهای متغیر: لاگها، دیتابیسها)
├── /var/log (محل تجمع لاگهای حجیم)
└── /var/www (فایلهای وبسایت)
پارتیشن یک تقسیمبندی فیزیکی یا منطقی از فضای دیسک سخت است، در حالی که فایلسیستم (مانند Ext4 یا XFS) ساختاری است که روی پارتیشن ایجاد میشود تا نحوه ذخیرهسازی، سازماندهی و بازیابی دادهها را مشخص کند. دستور df وضعیت هر یک از این فایلسیستمهای مانت شده را به شما نشان میدهد.
چرا پایش فضای دیسک در لینوکس حیاتی است؟
- پیشگیری از خرابی سرویس: زمانی که فضای دیسک سرور لینوکس پر میشود، بسیاری از سرویسها قادر به نوشتن فایلهای موقت یا لاگهای جدید نیستند و متوقف میشوند. برای مثال، دیتابیسها ممکن است نتوانند تراکنشها را کامل کنند یا وبسرور نتواند جلسات (Sessions) جدید ایجاد کند.
- بهبود عملکرد سرور: دیسکهای بسیار پر (مثلاً بالای 90%) میتوانند باعث Fragment شدن اطلاعات و کاهش شدید سرعت خواندن/نوشتن (I/O) شوند که تأثیر مستقیمی بر زمان پاسخگویی وبسایت شما دارد.
- مدیریت بهینه هزینه: با پایش دقیق متوجه میشوید که آیا واقعاً به ارتقاء فضای ذخیرهسازی نیاز دارید یا تنها با حذف فایلهای اضافی میتوانید مشکل را برطرف کنید. این امر به مدیریت فضای دیسک سرور لینوکس و بهینه سازی کمک میکند.
ابزارهای کلیدی پایش فایلسیستم: آموزش دستور df در لینوکس و گزینهها
df که مخفف “Disk Free” است، اولین و مهمترین ابزار برای مشاهده فضای دیسک در لینوکس در سطح پارتیشن (فایلسیستم) است. این دستور وضعیت فضای آزاد، مصرفی و ظرفیت کل هر پارتیشن مانت شده را نشان میدهد.دستور df (Disk Free)؛ مشاهده فضای آزاد پارتیشنها
| دستور | توضیح | خروجی |
|---|---|---|
df -h | h مخفف Human-readable (قابل خوانش برای انسان) است. خروجی را به واحدهای مگابایت (M)، گیگابایت (G) و ترابایت (T) تبدیل میکند. | ضروریترین حالت برای استفاده روزمره. |
df -T | نوع فایلسیستم (مانند ext4، XFS، tmpfs) هر پارتیشن را نمایش میدهد. | برای عیبیابی و شناخت ساختار سرور مهم است. |
df -i | بهجای فضای دیسک، وضعیت Inodeها (تعداد گرههای شاخص) را نمایش میدهد. | برای بررسی مشکل تعداد فایلهای کوچک (Inodes full) حیاتی است. |
df -a | پارتیشنهای موقت و مجازی (مانند /dev/shm) را نیز نمایش میدهد. | برای دید جامعتر از سیستم. |
df -hTia تفاوت کلیدی: فضای Free در مقابل Available
df، دو ستون اصلی وجود دارد: Free و Available.| ستون | تعریف | کاربرد |
|---|---|---|
| Free (آزاد) | فضای کاملاً خالی روی دیسک که توسط هیچ چیزی اشغال نشده است. | شامل فضایی است که لینوکس برای کاربر Root و کارهای سیستم رزرو میکند. |
| Available (قابل استفاده) | فضایی که در حال حاضر برای کاربران عادی و برنامهها جهت نوشتن فایلهای جدید در دسترس است. | این عدد، نشاندهنده فضای واقعی است که میتوانید از آن استفاده کنید. |
root رزرو میکند (برای اطمینان از اینکه حتی در صورت پر شدن دیسک، مدیر سیستم بتواند وارد شده و فایلهای موقت را پاک کند). بنابراین، همیشه باید ستون Available را برای تصمیمگیری در مورد فضای باقیمانده در نظر بگیرید.تحلیل مصرف دایرکتوریها: دستور بررسی فضای دیسک در لینوکس (du و ncdu)
/home یا /var شما پر شده است، اما نمیدانید کدام دایرکتوری یا پروژه این حجم را اشغال کرده است. اینجا جایی است که دستور du (Disk Usage) وارد عمل میشود و به شما کمک میکند تا ریشه مشکل را پیدا کنید. این ابزار کلیدی در دستور بررسی فضای دیسک در لینوکس (df و du)، مکمل df است.دستور du (Disk Usage)؛ یافتن دایرکتوریهای پرحجم
du برای تخمین فضای مصرفی یک دایرکتوری خاص یا مجموعهای از دایرکتوریها طراحی شده است. رایجترین سوئیچهای آن عبارتاند از:| دستور | توضیح | کاربرد |
|---|---|---|
du -h | Human-readable؛ خروجی را خوانا (M/G/T) میکند. | ضروری برای فهم حجمها. |
du -s | Summarize؛ تنها جمع کل حجم یک دایرکتوری را نمایش میدهد (بدون لیست کردن سابدایرکتوریها). | برای خلاصه گرفتن از حجم یک دایرکتوری خاص. |
du -a | All؛ اندازه فایلها را نیز علاوه بر دایرکتوریها نمایش میدهد. | برای دیدن دقیق اندازه هر فایل. |
du برای محاسبه حجم، از sort -hr برای مرتبسازی بر اساس حجم بهصورت نزولی (hr = human readable, reverse) و از head -n 10 برای نمایش 10 نتیجه اول استفاده میکنیم:du -sh * | sort -hr | head -n 10 8.2G wordpress-site-backup/
5.1G mysql-database/
2.7G logs/
... ncdu؛ رابط کاربری سریع برای مدیریت فضای دیسک سرور لینوکس
ncdu (ncurses Disk Usage) بهترین ابزار است. این یک رابط کاربری متنی (TUI) است که حجم دایرکتوریها را بهصورت گرافیکی و تعاملی نمایش میدهد و امکان جابجایی بین دایرکتوریها و حذف فایلها را فراهم میکند.df -h، متوجه شدیم که پارتیشن /var کاملاً پر است. بهجای اجرای چندین باره du در زیرشاخهها، بلافاصله ncdu /var را اجرا کردیم. در عرض ۱۰ ثانیه، مشخص شد که یک فایل لاگ Nginx به دلیل تنظیمات نادرست، حجمی بالغ بر 120 گیگابایت پیدا کرده است! ncdu به ما اجازه داد تا بلافاصله آن فایل را شناسایی و حذف کنیم و سرور را نجات دهیم. این مثال نشان میدهد که ابزارهای بصری مانند ncdu چقدر میتوانند در سناریوهای بحرانی ارزشمند باشند.سناریوهای عیبیابی و بهینهسازی فضای دیسک سرور لینوکس
پیدا کردن فایلهای بزرگ با دستور find در لینوکس
find استفاده کنید.find /var -type f -size +100M -exec ls -lh {} \; -type f: جستجو فقط در بین فایلها.-size +100M: فایلهای بزرگتر از ۱۰۰ مگابایت. (میتوانید ازGبرای گیگابایت نیز استفاده کنید).-exec ls -lh {} \;: پس از یافتن هر فایل، آن را با دستورls -lhنمایش میدهد تا حجم دقیق و آدرس کامل آن را ببینید.
مدیریت مشکل پر شدن Inodeها
df -h نشان دهد که هنوز فضای آزاد زیادی دارید. این مشکل زمانی رخ میدهد که تعداد زیادی فایل بسیار کوچک (مانند فایلهای کش یا ایمیلهای اسپم) دارید.df -i را اجرا کنید. اگر درصد استفاده از ستون IUse% به 90٪ یا بالاتر رسیده باشد، مشکل Inode دارید./var/spool/postfix (ایمیلها) یا دایرکتوریهای کش موقت هستند.for i in /*; do echo -n "$i: "; find "$i" | wc -l; done | sort -hr | head -n 10 حذف فایلها در سرور لینوکس غیرقابل بازگشت است! ⚠️ هشدار: هرگز از دستور
rm -rf در دایرکتوریهایی که از محتوای آنها مطمئن نیستید یا در مسیرهای مهم سیستمی (مانند /, /bin, /etc) استفاده نکنید. قبل از حذف، حتماً با دستوراتی مانند ls -lh یا du -sh، ماهیت و حجم فایل را تأیید کنید.سرور مجازی ایران وبداده
روی دکمه زیر کلیک کنید
مدیریت منابع در سرور مجازی وبداده
- ✅ فضای دیسک پرسرعت SSD: استفاده از دیسکهای SSD NVMe برای عملکرد بهینه.
- ✅ پشتیبانی 24/7: کمک فنی در عیبیابی مشکلات ناگهانی Disk Full.
- ✅ قابلیت مقیاسپذیری: امکان افزایش منابع (CPU, RAM, Disk) بهصورت آنی.
جمعبندی؛ مدیریت مؤثر فضای دیسک در لینوکس
du، و ترفند طلایی ncdu، به یک مدیر سیستم توانا تبدیل شدهاید که میتواند پیش از بحرانی شدن شرایط، از پر شدن دیسک جلوگیری کند.df برای تصویر کلی فایلسیستم، du برای تحلیل جزئیات دایرکتوری و find برای شکار فایلهای بزرگ یا کوچک اضافی. اگر به دنبال یک پلتفرم مطمئن با پایداری بالا هستید که در کنار شما به پایش و بهینه سازی منابع بپردازد، خدمات سرور وبداده بهترین انتخاب است. در صورتی که سوالی داشتید یا نیاز به راهنمایی بیشتری در مورد پیدا کردن فایلهای بزرگ با دستور find در لینوکس داشتید، میتوانید در بخش نظرات با ما در ارتباط باشید.سؤالات متداول درباره مدیریت فضای دیسک
1- دستور بررسی فضای دیسک در لینوکس (df و du) چه تفاوتی با هم دارند؟
تفاوت اصلی در سطح کاربری است. df (Disk Free) فضای آزاد و مصرفی کل پارتیشنها را در سطح فایلسیستم گزارش میدهد، در حالی که du (Disk Usage) فضای مصرفی یک دایرکتوری یا یک فایل مشخص را محاسبه میکند. اگر میخواهید بدانید چقدر از کل دیسک باقی مانده، از df استفاده کنید؛ اگر میخواهید بدانید کدام پوشه بزرگ است، از du استفاده کنید.
2- اگر df -h فضای کافی را نشان دهد اما نتوانم فایل جدیدی بسازم، مشکل چیست؟
به احتمال زیاد مشکل از پر شدن Inodeها است. با اجرای دستور df -i وضعیت Inodeها را بررسی کنید. اگر درصد استفاده بالا باشد، سرور شما تعداد بسیار زیادی فایل کوچک دارد که ظرفیت متادیتای سیستم را پر کردهاند، حتی اگر فضای ذخیرهسازی گیگابایتی هنوز باقی باشد.
3- آیا امکان دارد فضایی توسط فایلی اشغال شده باشد اما du آن را نشان ندهد؟
بله، این یک محدودیت رایج است. زمانی که یک فایل توسط یک پروسه در حال اجرا باز است و شما آن فایل را با دستور rm حذف میکنید، فایل از دایرکتوری حذف میشود اما تا زمانی که پروسه باز است (مثلاً یک فایل لاگ که توسط یک سرویس در حال نوشتن است)، فضای دیسک آزاد نمیشود. برای رفع این مشکل باید پروسه را ریاستارت (Restart) کنید یا سرور را راهاندازی مجدد نمایید.
4- بهترین روش برای یافتن 10 دایرکتوری بزرگتر برای مدیریت فضای دیسک سرور لینوکس و بهینه سازی چیست؟
بهترین روش استفاده از ترکیب دستورات است: du -sh * | sort -hr | head -n 10. این دستور حجم را در واحدهای خوانا نمایش داده، سپس آنها را از بزرگ به کوچک مرتب میکند و ۱۰ مورد اول را به شما نشان میدهد تا بتوانید سریعاً دایرکتوریهای پرحجم را بررسی کنید.




