.TH compsize 8 2017-09-04 btrfs btrfs .SH "نام (NAME)" compsize \- محاسبه نسبت فشرده‌سازی مجموعه‌ای از فایل‌ها در سیستم‌فایل btrfs .SH "خلاصه دستور (SYNOPSIS)" .B compsize .I file\-or\-dir [ .I file\-or\-dir \&... ] .SH "توضیحات (DESCRIPTION)" .B compsize فهرستی از فایل‌ها را روی یک سیستم‌فایل btrfs دریافت می‌کند (با پیمایش بازگشتی در دایرکتوری‌ها) و نوع فشرده‌سازی‌های به‌کاررفته و نسبت فشرده‌سازی مؤثر را اندازه می‌گیرد. علاوه بر فشرده‌سازی، .B compsize اثر بازپیوندها (reflinkها مانند .IR "cp \-\-reflink" ، اسنپ‌شات‌ها و deduplication) و انواع مشخصی از اتلاف فضا در btrfs را نمایش می‌دهد. .PP این برنامه گزارشی مشابه زیر ارائه می‌دهد: .PP .nf Processed 90319 files. Type Perc Disk Usage Uncompressed Referenced TOTAL 79% 1.4G 1.8G 1.9G none 100% 1.0G 1.0G 1.0G lzo 53% 446M 833M 843M .fi .PP فیلدهای بالا عبارتند از: .TP .B Type الگوریتم فشرده‌سازی. .TP .B Perc میزان مصرف دیسک تقسیم بر حجم فشرده‌نشده (نسبت فشرده‌سازی). .TP .B Disk Usage بلاک‌های روی دیسک؛ هزینه واقعی ذخیره‌سازی این فایل‌ها روی دیسک (بدون در نظر گرفتن ملاحظات RAID). .TP .B Uncompressed اکستنت‌های فشرده‌نشده؛ فضایی که بدون فشرده‌سازی نیاز داشتید \- شامل صرفه‌جویی ناشی از یکسان‌سازی (deduplication) و اتلاف فضا در اکستنت‌های سنجاق‌شده (pinned). .TP .B Referenced اندازه ظاهری فایل‌ها (بدون در نظر گرفتن حفره‌ها یا holes)؛ فضایی که یک سیستم‌فایل سنتی با پشتیبانی از حفره‌ها و بسته‌بندی کارآمد دنباله‌ها (tail packing) یا دستور .IR "tar \-S" برای ذخیره‌سازی این فایل‌ها نیاز دارد. .PP بیایید این مورد را با یک مثال بررسی کنیم: فایلی به حجم ۱۲۸ کیلوبایت به‌صورت یک اکستنت تکی A ذخیره می‌شود که پس از فشرده‌سازی به یک صفحه ۴ کیلوبایتی تبدیل شده است. سپس یک عملیات نوشتن ۳۲ کیلوبایتی در افست ۳۲ کیلوبایت دریافت می‌کند که آن هم به یک صفحه ۴ کیلوبایتی فشرده شده و به‌عنوان اکستنت B ذخیره می‌شود. .PP اکنون فایل به این صورت دیده می‌شود: .PP .nf +-------+-------+---------------+ extent A | used | waste | used | +-------+-------+---------------+ extent B | used | +-------+ .fi .PP اتلاف فضا (waste) درون اکستنت A تا زمانی که کل اکستنت بازنویسی نشود (برای نمونه با .IR defrag ) از بین نمی‌رود. در صورت فشرده‌سازی، هر بار که آن بخش از فایل خوانده می‌شود باید کل اکستنت خوانده شود، بنابراین فضای اتلاف‌شده همچنان مورد نیاز است. .PP در این حالت داریم: \fBDisk Usage\fR: 8KB، \fBUncompressed\fR: 160K، \fBReferenced\fR: 128K. .SH "گزینه‌ها (OPTIONS)" .TP .BR \-b " / " \-\-bytes نمایش تعداد خام بایت‌ها به‌جای اندازه‌های خوانا برای انسان. .TP .BR \-x " / " \-\-one\-file\-system نادیده گرفتن فایل‌ها و دایرکتوری‌های موجود روی سیستم‌فایل‌های دیگر. .SH "سیگنال‌ها (SIGNALS)" .TP .B USR1 نمایش داده‌های جزئی برای فایل‌هایی که تا این لحظه پردازش شده‌اند. .SH "هشدارها (CAVEATS)" فایل‌هایی که به‌تازگی نوشته شده‌اند ممکن است تا زمانی که واقعاً تخصیص نیافته و فشرده نشده‌اند، فضایی اشغال‌نکرده نشان داده شوند؛ این امر پس از همگام‌سازی (sync) یا در زمان خروج طبیعی داده‌ها به دیسک رخ می‌دهد که معمولاً در حدود ۳۰ ثانیه است. .PP فراخوانی‌های سیستمی (ioctls) مورد استفاده این برنامه به دسترسی ریشه (root) نیاز دارند. .PP اکستنت‌های درون‌خطی (Inline extents) همیشه یکتا در نظر گرفته می‌شوند، حتی اگر بایت‌های یکسانی روی دیسک داشته باشند. .PP این برنامه اکنون از سیستم‌فایل‌های بزرگ‌تر از ۸ ترابایت روی ماشین‌های ۳۲ بیتی پشتیبانی نمی‌کند \- البته سایر ابزارهای btrfs نیز پشتیبانی نمی‌کنند.