.TH DMSTATS 8 "Mar 23 2025" Linux "دستورات نگهداری سیستم (MAINTENANCE COMMANDS)" . .if !dEX \{\ .de EX .nf .. .de EE .fi .. \} . .\" So use .SY only for graphical rendering (postscript/pdf) .\" and keep using .TP for ascii renderers . .de NSY . ie t .SY \\$1 . el \{\ . ie \\n(.$>1 \{\ . PD 0 . TP \\w'\\$1\ 'u . \} . el .TP . B \\$1 . \} .. . .\" Check with use of .SY .de _NSY . SY \\$1 .. . .\" Start paragraph with option .\" Note: Disabling line adjusting after the 1st. keyword! .de CMS . na . nh .. . .ds CBR \& . .de CME \\*[CBR] . hy . ad .. . .\" Html rendering is giving rather poor results with .HP .\" So with envvar HTML set to 1, .TP will be used. .\" e.g. HTML=1 man \-Thtml .\" Macro to easily switch to .TP if .HP would go away .de NTP .\". sp . ie t .HP . el .HP \" Give slightly better results .. . .de NSP . br \& . br .. . .de OPT_PROGRAMS . RB [ \-\-allprograms |\: \-\-programid\ \c . IR id ] " "\c .. . .de OPT_REGIONS . RB [ \-\-allregions |\: \-\-regionid\ \c . IR id ] " "\c .. .de OPT_OBJECTS . RB [ \-\-area ] " "\c . RB [ \-\-group ] " "\c . RB [ \-\-region ] " "\c .. .de OPT_FOREGROUND . RB [ \-\-foreground ] " "\c .. .de OPT_HISTOGRAM . RB [ \-\-histogram ] " "\c . RB [ \-\-nosuffix ] " "\c . RB [ \-\-notimesuffix ] " "\c . RB [ \-\-units\ \c . IR units ] " "\c .. . .\" Print units suffix, use with arg to print human .\" man2html can't handle too many changes per command .de UNITS [\c . if \\n(.$ .BR h | H |\:\c . BR b | B |\: s | S |\: k | K |\: m | M |\c . BR g | G |\: t | T |\: p | P |\: e | E ] .. . .\" Print help text for units, use with arg to print human .de HELP_UNITS . na . RB ( b ") بایت،" . RB ( s ") سکتور،" . RB ( k ") کیلوبایت،" . RB ( m ") مگابایت،" . RB ( g ") گیگابایت،" . RB ( t ") ترابایت،" . RB ( p ") پتابایت،" . RB ( e ") اگزابایت." . ad . nop برای استفاده از مضارب ۱۰۰۰ (S.I.\&) به جای ۱۰۲۴ از حروف بزرگ استفاده کنید. .. . .as AD "\" define the string if not defined on the command line .SH "نام (NAME)" . dmstats \- مدیریت آمار و ارقام نگاشتگر دستگاه (Device-Mapper) . .SH "خلاصه دستور (SYNOPSIS)" . .NSY dmsetup 1 .CMS .B stats .I command .RI [ OPTIONS ] .CME .PD . .P .NSY dmstats 1 .CMS .I command .IR device_name |\:\c .BR \-\-major \ \c .IR major " " .BR \-\-minor \ \c .IR minor |\:\c .BR \-u | \-\-uuid \ \c .IR uuid " "\c .RB [ \-v | \-\-verbose ] .CME .PD . .P .NSY dmstats 1 .de CMD_CLEAR . CMS . BR clear " "\c . IR device_name " "\c . OPT_PROGRAMS . OPT_REGIONS \& . CME .. .CMD_CLEAR . .NSY dmstats .de CMD_CREATE . CMS . BR create " "\c . IR device_name \ .\|.\|.|\: file_path \ .\|.\|.|\:\c . BR \-\-alldevices " "\c . RB [ \-\-areas\ \c . IR nr_areas |\:\c . BR \-\-areasize \ \c . IR area_size ] " "\c . RB [ \-\-bounds\ \c . IR histo\%gram_bounda\%ries ] " "\c . RB [ \-\-filemap ] " "\c . RB [ \-\-follow\ \c . IR follow_mode ] " "\c . OPT_FOREGROUND . RB [ \-\-nogroup ] " "\c . RB [ \-\-nomonitor ] " "\c . RB [ \-\-precise ] " "\c . RB [ \-\-start\ \c . IR start_sector " "\c . BR \-\-length \ \c . IR length |\:\c . BR \-\-segments ] " "\c . RB [ \-\-userdata\ \c . IR user_data ] " "\c . RB [ \-\-programid\ \c . IR id ] . CME .. .CMD_CREATE . .NSY dmstats .de CMD_DELETE . CMS . BR delete " "\c . IR device_name |\:\c . BR \-\-alldevices " "\c . OPT_PROGRAMS . OPT_REGIONS \& . CME .. .CMD_DELETE . .NSY dmstats .de CMD_GROUP . CMS . BR group " "\c . RI [ device_name |\:\c . BR \-\-alldevices ] " "\c . RB [ \-\-alias\ \c . IR name ] " "\c . RB [ \-\-regions\ \c . IR regions ] . CME .. .CMD_GROUP . .NSY dmstats .de CMD_HELP . CMS . BR help " "\c . RB [ \-c | \-C |\: \-\-columns ] . CME .. .CMD_HELP . .NSY dmstats .de CMD_LIST . CMS . BR list " "\c . RI [ device_name ] " "\c . OPT_PROGRAMS . OPT_OBJECTS . OPT_HISTOGRAM \& . CME .. .CMD_LIST . .NSY dmstats .de CMD_PRINT . CMS . BR print " "\c . RI [ device_name ] " "\c . RB [ \-\-clear ] " "\c . OPT_PROGRAMS . OPT_REGIONS \& . CME .. .CMD_PRINT . .NSY dmstats .de CMD_REPORT . CMS . BR report " "\c . RI [ device_name ] " "\c . RB [ \-\-interval\ \c . IR seconds ] " "\c . RB [ \-\-count\ \c . IR count ] " "\c . RB [ \-\-units\ \c . IR units ] " "\c . OPT_PROGRAMS . OPT_REGIONS . OPT_OBJECTS . OPT_HISTOGRAM . RB [ \-O | \-\-sort\ \c . IR sort_fields ] " "\c . RB [ \-S | \-\-select\ \c . IR selection ] . CME .. .CMD_REPORT . .NSY dmstats .de CMD_UNGROUP . CMS . BR ungroup " "\c . RI [ device_name |\:\c . BR \-\-alldevices ] " "\c . RB [ \-\-groupid\ \c . IR id ] . CME .. .CMD_UNGROUP . .NSY dmstats .de CMD_UPDATE_FILEMAP . CMS . BR update_filemap " "\c . IR file_path " "\c . RB [ \-\-follow\ \c . IR follow_mode ] " "\c . OPT_FOREGROUND . RB [ \-\-groupid\ \c . IR id ] " "\c . RB [ \-\-nomonitor ] . CME .. .CMD_UPDATE_FILEMAP . .PD .ad .hy . .SH "توضیحات (DESCRIPTION)" . برنامه .B dmstats نواحی آمار ورودی/خروجی را برای دستگاه‌هایی که از گرداننده نگاشتگر دستگاه (device-mapper) استفاده می‌کنند مدیریت می‌کند. با استفاده از این ابزار می‌توان نواحی آماری را ایجاد، حذف، فهرست‌بندی و گزارش‌گیری کرد. .P نخستین آرگومان .B dmstats یک \fIcommand\fP (دستور) است. .P آرگومان دوم \fIdevice_name\fP (نام دستگاه)، \fIuuid\fP یا شماره‌های \fImajor\fP و \fIminor\fP است. .P گزینه‌های بیشتر امکان انتخاب نواحی، کنترل قالب خروجی و رفتار گزارش‌گیری را فراهم می‌کنند. .P هنگامی که هیچ آرگومان دستگاهی مشخص نشود، .B dmstats به‌طور پیش‌فرض روی تمام دستگاه‌های نگاشتگر دستگاه موجود عمل خواهد کرد. دستورات .B create و .B delete در صورت استفاده به این شیوه، نیازمند استفاده از .B \-\-alldevices هستند. . .SH "گزینه‌ها (OPTIONS)" . .TP \fB\-\-alias\fP \fIname\fP یک نام مستعار (alias) برای یک گروه مشخص می‌کند. . .TP .B \-\-alldevices اگر هیچ آرگومان دستگاهی داده نشود، امکان انجام عملیات روی تمام دستگاه‌ها را هنگام ایجاد یا حذف نواحی فراهم می‌کند. . .TP .B \-\-allprograms شامل کردن نواحی مربوط به تمامی شناسه‌های برنامه (program ID) برای عملیات فهرست‌بندی و گزارش‌گیری. . .TP .B \-\-allregions شامل کردن تمامی نواحی موجود برای دستوراتی که به‌طور معمول تنها یک شناسه ناحیه را می‌پذیرند. . .TP .B \-\-area هنگام اجرای فهرست‌بندی یا گزارش‌گیری، اشیایی از نوع محدوده (area) را در نتایج می‌گنجاند. . .TP \fB\-\-areas\fP \fInr_areas\fP تعداد محدوده‌های آماری را برای ایجاد درون یک ناحیه جدید مشخص می‌کند. . .TP \fB\-\-areasize\fP \fIarea_size\fP\c .UNITS اندازه محدوده‌هایی را که یک ناحیه جدید باید به آن‌ها تقسیم شود مشخص می‌کند. یک پسوند اختیاری واحدهای زیر را انتخاب می‌کند: .HELP_UNITS . .TP \fB\-\-bounds\fP\ \fIhistogram_boundaries\fP\c .RB [ ns | us | ms | s ] مرزهای یک هیستوگرام تاخیر را جهت ردگیری برای ناحیه به‌صورت فهرستی از مقادیر تاخیر جداشده با کاما مشخص می‌کند. مقادیر تاخیر بر حسب نانوثانیه داده می‌شوند. یک پسوند واحد اختیاری شامل .BR ns ، .BR us ، .B ms یا \fBs\fP می‌تواند پس از هر مقدار برای تعیین واحدهای نانوثانیه، میکروثانیه، میلی‌ثانیه یا ثانیه مشخص شود. . .TP .B \-\-clear هنگام چاپ شمارنده‌های آماری، آن‌ها را نیز به‌صورت اتمیک به صفر بازنشانی می‌کند. . .TP \fB\-\-count\fP \fIcount\fP تعداد تکرار را برای گزارش‌های تکرارشونده مشخص می‌کند. اگر آرگومان تعداد صفر باشد، گزارش‌ها تا زمان توقف دستی ادامه می‌یابند. . .TP .B \-\-group هنگام اجرای فهرست‌بندی یا گزارش‌گیری، اشیایی از نوع گروه (group) را در نتایج می‌گنجاند. . .TP .B \-\-filemap به جای ایجاد نواحی روی یک دستگاه طبق گزینه‌های مشخص‌شده در خط فرمان، فایل موجود در هر آرگومان \fIfile_path\fP را باز کرده و نواحی متناظر با مکان‌های اکستنت‌های روی دیسک تخصیص‌یافته به آن فایل(ها) را ایجاد می‌کند. . .TP \fB\-\-follow\fP \fIfollow_mode\fP حالت دنبال کردن فایل را برای دیمن .BR dmfilemapd (8) مشخص می‌کند. دیمن پایش نگاشت فایل می‌تواند فایل‌ها را به دو روش متمایز پایش کند: این حالت بر رفتار دیمن هنگام تغییر نام یا حذف پیوند (unlink) فایلِ تحت پایش، و همچنین شرایطی که باعث خروج دیمن می‌شوند تأثیر می‌گذارد. .NSP آرگومان \fIfollow_mode\fP یا "\fBinode\fP" برای حالت دنبال کردن بر پایه inode است، یا "\fBpath\fP" برای حالت دنبال کردن بر پایه مسیر (follow-path). .NSP اگر حالت follow-inode استفاده شود، دیمن فایل را باز نگه می‌دارد و به به‌روزرسانی نواحی از طریق همان توصیف‌کننده فایل ادامه می‌دهد. این بدان معناست که نگاشت، عملیات تغییر نام، جابه‌جایی (در همان فایل‌سیستم) و unlink را دنبال خواهد کرد. این حالت در صورتی مفید است که انتظار برود فایل در حین پایش جابه‌جا، تغییر نام یا unlink شود. .NSP در حالت follow-inode، دیمن به محض اینکه متوجه شود فایل unlink شده و خود آخرین نگه‌دارنده ارجاع به آن است، خارج خواهد شد. .NSP اگر follow-path استفاده شود، دیمن مسیر ارائه‌شده را در هر دور پایش مجدداً باز می‌کند. این بدان معناست که گروه به‌روزرسانی می‌شود تا فایل جدیدی را منعکس کند که به همان مسیر فایل اصلی منتقل شده است. این حالت برای فایل‌هایی مفید است که انتظار می‌رود از طریق unlink و rename به‌روزرسانی شوند. .NSP در حالت follow-path، اگر فایل حذف شود و در یک بازه تحمل کوتاه جایگزین نگردد، دیمن خارج خواهد شد. .NSP در هر دو حالت، در صورت حذف گروه تحت پایش، دیمن به‌طور خودکار خارج می‌شود. . .TP .B \-\-foreground مشخص می‌کند که دیمن .BR dmfilemapd (8) باید در پیش‌زمینه اجرا شود. دیمن به پس‌زمینه فورک نخواهد شد و جایگزین دستور \fBdmstats\fP می‌شود که آن را راه‌اندازی کرده است. . .TP \fB\-\-groupid\fP \fIid\fP گروه مورد نظر برای انجام عملیات را مشخص می‌کند. . .TP .B \-\-histogram هنگام استفاده با دستورات \fBreport\fP و \fBlist\fP، فیلدهای پیش‌فرضی را انتخاب می‌کند که بر داده‌های هیستوگرام تاخیر تأکید دارند. . .TP \fB\-\-interval\fP \fIseconds\fP فاصله زمانی بر حسب ثانیه را میان تکرارهای متوالی برای گزارش‌های تکرارشونده مشخص می‌کند. اگر \fB\-\-interval\fP مشخص شود ولی \fB\-\-count\fP تعیین نگردد، گزارش‌ها تا زمان توقف دستی ادامه خواهند یافت. . .TP \fB\-\-length\fP \fIlength\fP\c .UNITS طول یک ناحیه آماری جدید را بر حسب سکتور مشخص می‌کند. یک پسوند اختیاری واحدهای زیر را انتخاب می‌کند: .HELP_UNITS . .TP \fB\-j\fP|\fB\-\-major\fP \fImajor\fP شماره major را مشخص می‌کند. . .TP \fB\-m\fP|\fB\-\-minor\fP \fIminor\fP شماره minor را مشخص می‌کند. . .TP .B \-\-nogroup هنگام ایجاد نواحی نگاشت‌کننده اکستنت‌های یک فایل در سیستم‌فایل، گروهی ایجاد نکرده و نام مستعاری تعیین نمی‌کند. . .TP .B \-\-nomonitor دیمن .BR dmfilemapd (8) را هنگام ایجاد گروه‌های جدید نگاشت فایل غیرفعال می‌کند. به‌طور معمول، دیمن پایش نگاشت فایل نگاشتگر دستگاه .BR dmfilemapd (8) برای هر گروه نگاشت‌شده از فایل راه‌اندازی می‌شود تا با تغییر فایل روی دیسک، مجموعه نواحی را به‌روز کند؛ استفاده از این گزینه این رفتار را غیرفعال می‌سازد. .NSP نواحی موجود در گروه همچنان می‌توانند با دستور \fBupdate_filemap\fP یا با راه‌اندازی دستی دیمن به‌روزرسانی شوند. . .TP .B \-\-nosuffix پسوند اندازه خروجی را حذف می‌کند. در صورت پردازش خروجی، همراه با \fB\-\-units\fP (به جز h و H) استفاده شود. . .TP .B \-\-notimesuffix پسوند مقادیر زمانی خروجی را حذف می‌کند. مقادیر مرز هیستوگرام بر حسب نانوثانیه گزارش خواهند شد. . .TP .BR \-o | \-\-options مشخص می‌کند کدام فیلدهای گزارش نمایش داده شوند. . .TP .B \-\-precise تلاش برای استفاده از شمارنده‌های دارای دقت نانوثانیه هنگام ایجاد نواحی آماری جدید. . .TP \fB\-\-programid\fP \fIid\fP یک رشته شناسه برنامه (program ID) را مشخص می‌کند. هنگام ایجاد نواحی آماری جدید، این رشته همراه با ناحیه ذخیره می‌شود. عملیات بعدی می‌توانند یک شناسه برنامه ارائه دهند تا فقط نواحی دارای مقدار منطبق انتخاب شوند. شناسه برنامه پیش‌فرض برای نواحی تحت مدیریت dmstats برابر "dmstats" است. . .TP .B \-\-region هنگام اجرای فهرست‌بندی یا گزارش‌گیری، اشیایی از نوع ناحیه (region) را در نتایج می‌گنجاند. . .TP \fB\-\-regionid\fP \fIid\fP ناحیه مورد نظر برای انجام عملیات را مشخص می‌کند. . .TP \fB\-\-regions\fP \fIregion_list\fP فهرستی از نواحی را جهت گروه‌بندی مشخص می‌کند. فهرست گروه، فهرستی از شناسه‌های ناحیه جداشده با کاما است. توالی‌های پیوسته از شناسه‌ها می‌توانند به صورت یک بازه با خط فاصله بیان شوند، برای نمونه: '1\(en10'. . .TP .B \-\-relative در صورت نمایش گزارش هیستوگرام، مقادیر نسبی (درصدی) را به جای تعداد مطلق نمایش می‌دهد. . .TP .B \-\-segments هنگام استفاده با \fBcreate\fP، یک ناحیه آماری جدید برای هر تارگت (target) موجود در دستگاه(های) داده‌شده ایجاد می‌کند. این کار باعث تخصیص یک ناحیه مجزا برای هر قطعه (segment) از دستگاه می‌شود. .NSP نواحی تازه‌ایجادشده به‌طور خودکار درون یک گروه قرار می‌گیرند مگر اینکه گزینه \fB\-\-nogroup\fP داده شده باشد. هنگامی که گروه‌بندی فعال است، می‌توان یک نام مستعار گروه را با استفاده از گزینه \fB\-\-alias\fP مشخص کرد. . .TP \fB\-S\fP|\fB\-\-select\fP \fIselection\fP فقط ردیف‌هایی را که با معیارهای \fIselection\fP مطابقت دارند نمایش می‌دهد. همه ردیف‌ها با ستون اضافی "selected" (\fB\-o selected\fP) نمایش داده می‌شوند که اگر ردیف با \fIselection\fP مطابقت داشته باشد ۱ و در غیر این صورت ۰ را نشان می‌دهد. معیارهای انتخاب با مشخص کردن نام ستون‌ها و مقادیر معتبر آن‌ها با استفاده از عملگرهای مقایسه‌ای پشتیبانی‌شده تعریف می‌شوند. . .TP \fB\-O\fP|\fB\-\-sort\fP \fIsort_fields\fP خروجی را بر اساس فهرست فیلدهای ارائه‌شده مرتب می‌کند. برای مرتب‌سازی معکوس روی آن ستون، پیش از هر فیلد مرتب‌سازی از '\fB\-\fP' استفاده کنید. . .TP \fB\-\-start\fP \fIstart\fP\c .UNITS آفست شروع یک ناحیه آماری جدید را بر حسب سکتور مشخص می‌کند. یک پسوند اختیاری واحدهای زیر را انتخاب می‌کند: .HELP_UNITS . .TP \fB\-\-units\fP [\fIunits\fP]\c .UNITS h واحدهای نمایش را برای خروجی گزارش تنظیم می‌کند. همه اندازه‌ها در این واحدها خروجی داده می‌شوند: .RB ( h ") خوانا برای انسان (human-readable)،" .HELP_UNITS همچنین می‌توان واحدهای سفارشی را مشخص کرد، مثلاً \fB\-\-units\ 3M\fP. . .TP \fB\-\-userdata\fP \fIuser_data\fP داده کاربر (یک کلمه) را جهت ذخیره همراه با یک ناحیه جدید مشخص می‌کند. این مقدار به هرگونه داده کمکی داخلی (برای نمونه، اطلاعات گروه) افزوده شده و همراه با ناحیه در فیلد aux_data ارائه‌شده توسط هسته ذخیره می‌شود. فاصله خالی (whitespace) مجاز نیست. . .TP .BR \-u | \-\-uuid شناسه uuid را مشخص می‌کند. . .TP .BR \-v | \-\-verbose \ [ \-v | \-\-verbose ] تولید خروجی با جزئیات بیشتر. . .SH "دستورات (COMMANDS)" .ds CBR .br . .NTP .CMD_CLEAR به هسته دستور می‌دهد شمارنده‌های آماری را برای نواحی مشخص‌شده پاک کند (به استثنای شمارنده‌های ورودی/خروجی در حال انجام [in-flight IO]). . .NTP .CMD_CREATE یک یا چند ناحیه آماری جدید را بر روی دستگاه(های) مشخص‌شده ایجاد می‌کند. .NSP ناحیه کل دستگاه را در بر خواهد گرفت مگر اینکه \fB\-\-start\fP و \fB\-\-length\fP یا \fB\-\-segments\fP داده شده باشند. گزینه‌های \fB\-\-start\fP و \fB\-\-length\fP امکان قرار دادن یک ناحیه با طول دلخواه در یک آفست دلخواه از دستگاه را فراهم می‌سازند. گزینه \fB\-\-segments\fP باعث می‌شود برای هر هدف در جدول دستگاه نگاشتگر دستگاه متناظر، یک ناحیه جدید ایجاد شود. .NSP در صورت استفاده از گزینه \fB\-\-precise\fP دستور تلاش خواهد کرد تا با استفاده از شمارنده‌های دارای دقت نانوثانیه یک ناحیه ایجاد کند. .NSP اگر \fB\-\-bounds\fP داده شود، یک هیستوگرام تاخیر برای ناحیه جدید ردگیری خواهد شد. مرزهای دسته‌های (bins) هیستوگرام به‌صورت فهرستی از مقادیر تاخیر جداشده با کاما داده می‌شوند. یک مرز پایین ضمنی برابر صفر برای دسته اول و یک مرز بالای ضمنی برابر بی‌نهایت (یا مدت‌زمان بازه پیکربندی‌شده) برای دسته نهایی وجود دارد. .NSP تاخیرها بر حسب نانوثانیه داده می‌شوند. یک پسوند واحد اختیاری شامل ns، us، ms یا s می‌تواند پس از هر مقدار مشخص شود تا واحدهای نانوثانیه، میکروثانیه، میلی‌ثانیه یا ثانیه را به ترتیب مشخص کند؛ بنابراین برای نمونه، 10\~ms معادل 10,000,000 است. مقادیر تاخیر با دقت کمتر از یک میلی‌ثانیه تنها زمانی قابل استفاده هستند که برچسب‌های زمانی دقیق فعال باشند: اگر \fB\-\-precise\fP داده نشود و مقادیر کمتر از یک میلی‌ثانیه استفاده شوند، به‌طور خودکار فعال خواهد شد. .NSP یک رشته اختیاری \fBprogram_id\fP یا \fBuser_data\fP می‌تواند با ناحیه مرتبط شود. سپس می‌توان از یک \fBprogram_id\fP برای انتخاب نواحی در عملیات بعدی list، print و report استفاده کرد. فیلد \fBuser_data\fP یک رشته دلخواه را ذخیره می‌کند و توسط dmstats یا زیرسیستم آمار هسته نگاشتگر دستگاه استفاده نمی‌شود. .NSP به‌طور پیش‌فرض dmstats نواحی را با \fBprogram_id\fP برابر "dmstats" ایجاد می‌کند. .NSP در صورت موفقیت، \fBregion_id\fP ناحیه تازه ایجادشده در stdout چاپ می‌شود. .NSP اگر گزینه \fB\-\-filemap\fP با یک فایل عادی یا فهرستی از فایل‌ها به عنوان آرگومان \fBfile_path\fP ارائه شود، \fBdmstats\fP به جای ایجاد نواحی با پارامترهای مشخص‌شده در خط فرمان، فایل‌های واقع در \fBfile_path\fP را باز کرده و نواحی متناظر با اکستنت‌های فیزیکی تخصیص‌یافته به فایل را ایجاد می‌کند. این کار می‌تواند برای پایش آمار فایل‌های مجزا در سیستم‌فایل، برای نمونه، ایمیج‌های ماشین مجازی، نواحی swap یا فایل‌های بزرگ پایگاه داده استفاده شود. .NSP برای کار با گزینه \fB\-\-filemap\fP، فایل‌ها باید روی یک سیستم‌فایل محلی قرار داشته باشند که توسط یک دستگاه نگاشتگر دستگاه پشتیبانی می‌شود و از داده‌های اکستنت فیزیکی با استفاده از ioctl مربوط به FIEMAP پشتیبانی می‌کند (مانند Ext4 و XFS). .NSP به‌طور پیش‌فرض نواحی نگاشت‌کننده یک فایل درون یک گروه قرار می‌گیرند و نام مستعار گروه روی نام پایه (basename) فایل تنظیم می‌شود. این رفتار را می‌توان با گزینه‌های \fB\-\-alias\fP و \fB\-\-nogroup\fP لغو کرد. .NSP ایجاد گروهی که فایلی را نگاشت می‌کند به‌طور خودکار یک دیمن، .BR dmfilemapd (8)، را برای پایش فایل و به‌روزرسانی نگاشت همگام با تغییر اکستنت‌های تخصیص‌یافته به فایل راه‌اندازی می‌کند. این رفتار با استفاده از گزینه \fB\-\-nomonitor\fP قابل غیرفعال‌سازی است. .NSP از گزینه \fB\-\-group\fP تنها برای نمایش اطلاعات گروه‌ها هنگام فهرست‌بندی و گزارش‌گیری استفاده کنید. . .NTP .CMD_DELETE ناحیه آماری مشخص‌شده را حذف می‌کند. تمام شمارنده‌ها و منابع مورداستفاده توسط ناحیه آزاد می‌شوند و ناحیه در خروجی عملیات بعدی list، print یا report ظاهر نخواهد شد. .NSP تمامی نواحی ثبت‌شده روی یک دستگاه را می‌توان با استفاده از \fB\-\-allregions\fP حذف کرد. .NSP برای حذف تمام نواحی روی همه دستگاه‌ها باید هر دو گزینه \fB\-\-allregions\fP و \fB\-\-alldevices\fP استفاده شوند. .NSP اگر یک \fB\-\-groupid\fP به جای یک \fB\-\-regionid\fP داده شود، دستور تلاش خواهد کرد تا گروه و تمام نواحی موجود در آن را حذف کند. .NSP اگر یک ناحیه حذف‌شده نخستین عضو از یک گروه از نواحی باشد، آن گروه نیز حذف خواهد شد. . .NTP .CMD_GROUP یک یا چند ناحیه آماری روی دستگاه مشخص‌شده را در یک گروه ترکیب می‌کند. .NSP فهرست نواحی جهت گروه‌بندی با \fB\-\-regions\fP مشخص می‌شود و می‌توان یک نام مستعار اختیاری را با \fB\-\-alias\fP اختصاص داد. مجموعه نواحی به‌صورت فهرستی از شناسه‌های ناحیه جداشده با کاما ارائه می‌شود. یک بازه پیوسته از شناسه‌ها از \fBR1\fP تا \fBR2\fP را می‌توان به صورت '\fBR1\fP\-\fBR2\fP' بیان کرد. .NSP نواحی دارای هیستوگرام پیکربندی‌شده قابل گروه‌بندی هستند: در این حالت تعداد دسته‌های هیستوگرام و مرزهای آن‌ها باید دقیقاً مطابقت داشته باشند. .NSP در صورت موفقیت، فهرست گروه و \fBgroup_id\fP تازه‌ایجادشده در stdout چاپ می‌شوند. .NSP متادیتای گروه همراه با نخستین (کمترین شماره) \fBregion_id\fP در گروه ذخیره می‌شود: حذف این ناحیه همچنین گروه را حذف کرده و سایر اعضای گروه به وضعیت پیشین خود بازگردانده می‌شوند. . .NTP .CMD_HELP خلاصه‌ای از دستورات موجود را به همراه فهرست اختیاری فیلدهای گزارش چاپ می‌کند. . .NTP .CMD_LIST نواحی، محدوده‌ها یا گروه‌های آماری ثبت‌شده بر روی دستگاه را فهرست می‌کند. اگر سوییچ \fB\-\-allprograms\fP داده شود، تمامی نواحی صرف‌نظر از مقادیر شناسه برنامه ناحیه فهرست خواهند شد. .NSP به‌طور پیش‌فرض تنها نواحی و گروه‌ها در خروجی فهرست گنجانده می‌شوند. اگر \fB\-v\fP یا \fB\-\-verbose\fP داده شود، گزارش همچنین شامل یک ردیف اطلاعات برای هر گروه پیکربندی‌شده و برای هر محدوده موجود در هر ناحیه نمایش‌داده‌شده خواهد بود. .NSP نواحی که شامل یک محدوده تکی هستند به‌طور پیش‌فرض از فهرست دارای جزئیات حذف می‌شوند چرا که ویژگی‌های آن‌ها با محدوده‌ای که در بر دارند یکسان است \- برای مشاهده تمام نواحی بدون توجه به تعداد محدوده‌های موجود از \fB\-\-region\fP استفاده کنید. برای مشاهده محدوده‌های موجود در نواحی نیز از \fB\-\-area\fP استفاده کنید. .NSP اگر \fB\-\-histogram\fP داده شود، گزارش شامل تعداد دسته‌ها و مقادیر مرز تاخیر برای هرگونه هیستوگرام پیکربندی‌شده خواهد بود. . .NTP .CMD_PRINT شمارنده‌های آماری خام را برای ناحیه مشخص‌شده یا برای تمامی نواحی موجود چاپ می‌کند. . .NTP .CMD_REPORT شروع یک گزارش برای شیء مشخص‌شده یا برای تمامی اشیاء موجود. اگر آرگومان count مشخص شود، گزارش در یک بازه ثابت تعیین‌شده توسط گزینه \fB\-\-interval\fP تکرار خواهد شد. فاصله زمانی پیش‌فرض یک ثانیه است. .NSP اگر سوییچ \fB\-\-allprograms\fP داده شود، تمامی نواحی صرف‌نظر از مقادیر شناسه برنامه ناحیه فهرست خواهند شد. .NSP اگر \fB\-\-histogram\fP داده شود، گزارش شامل مقادیر هیستوگرام و مرزهای تاخیر خواهد بود. .NSP اگر \fB\-\-relative\fP استفاده شود، فیلد هیستوگرام پیش‌فرض مقادیر دسته‌ها را به صورت درصدی از تعداد کل ورودی/خروجی‌ها نمایش می‌دهد. .NSP انواع اشیاء (محدوده‌ها، نواحی و گروه‌ها) جهت گنجاندن در گزارش با استفاده از گزینه‌های \fB\-\-area\fP، \fB\-\-region\fP و \fB\-\-group\fP انتخاب می‌شوند. . .NTP .CMD_UNGROUP یک گروه موجود را حذف کرده و تمامی نواحی گروه را به وضعیت اصلی خود بازمی‌گرداند. .NSP گروه مورد نظر جهت حذف با استفاده از \fB\-\-groupid\fP مشخص می‌شود. . .NTP .CMD_UPDATE_FILEMAP گروهی از نواحی \fBdmstats\fP را که با \fBgroup_id\fP مشخص شده و قبلاً با \fB\-\-filemap\fP ایجاد شده‌اند، به‌صورت مستقیم یا با راه‌اندازی دیمن پایش .BR dmfilemapd (8) به‌روزرسانی می‌کند. .NSP این کار نواحی را اضافه و حذف می‌کند تا تغییرات در اکستنت‌های تخصیص‌یافته فایل روی دیسک، از زمان ایجاد یا آخرین به‌روزرسانی آن را منعکس سازد. .NSP استفاده از این دستور به‌طور معمول مورد نیاز نیست چرا که دیمن .BR dmfilemapd (8) به‌طور خودکار گروه‌های filemap را پایش کرده و این به‌روزرسانی‌ها را در صورت نیاز انجام می‌دهد. .NSP اگر یک گروه نگاشت‌شده با \fB\-\-nomonitor\fP ایجاد شده باشد، یا دیمن متوقف (kill) شده باشد، دستور \fBupdate_filemap\fP می‌تواند برای وادار کردن دستی به به‌روزرسانی یا راه‌اندازی یک دیمن جدید استفاده شود. .NSP از \fB\-\-nomonitor\fP برای وادار کردن به به‌روزرسانی مستقیم و غیرفعال کردن راه‌اندازی دیمن پایش استفاده کنید. . .SH "ناحیه‌ها، محدوده‌ها و گروه‌ها (REGIONS, AREAS, AND GROUPS)" . قابلیت آمار نگاشتگر دستگاه امکان نگه‌داری شمارنده‌های کارایی مجزا را برای نواحی دلخواهی از دستگاه‌ها فراهم می‌کند. یک ناحیه می‌تواند هر دامنه‌ای را در بر بگیرد: از یک سکتور منفرد تا کل دستگاه. همچنین یک ناحیه می‌تواند به تعدادی محدوده (area) مجزا (یک یا چند محدوده) تقسیم شود که هر کدام مجموعه شمارنده خاص خود را دارند. در این صورت یک مقدار خلاصه‌شده برای کل ناحیه نیز جهت استفاده در گزارش‌ها در دسترس خواهد بود. .P علاوه بر این، یک یا چند ناحیه روی یک دستگاه را می‌توان در یک گروه آماری ترکیب کرد. گروه‌ها امکان تجمیع چندین ناحیه و گزارش آن‌ها به عنوان یک هویت واحد را فراهم می‌سازند؛ شمارنده‌های تمامی نواحی و محدوده‌ها جمع زده شده و برای گزارش مقادیر کل تمام اعضای گروه استفاده می‌شوند. گروه‌ها همچنین امکان تخصیص یک نام مستعار اختیاری را فراهم می‌کنند که اجازه می‌دهد نام‌های معنادار با مجموعه‌هایی از نواحی مرتبط شوند. .P متادیتای گروه همراه با نخستین (کمترین شماره) \fBregion_id\fP در گروه ذخیره می‌شود: حذف این ناحیه همچنین گروه را حذف کرده و سایر اعضای گروه به وضعیت پیشین خود بازگردانده می‌شوند. .P به‌طور پیش‌فرض نواحی جدید کل دستگاه را در بر می‌گیرند. گزینه‌های \fB\-\-start\fP و \fB\-\-length\fP امکان قرار دادن ناحیه‌ای با هر اندازه‌ای در هر مکانی از دستگاه را فراهم می‌کنند. .P با استفاده از آفست‌ها می‌توان نواحی ایجاد کرد که اشیاء منفرد درون یک دستگاه بلوکی را نگاشت کنند (برای نمونه: پارتیشن‌ها، فایل‌های درون یک سیستم‌فایل، یا استریپ‌ها [stripes] یا ساختارهای دیگر در یک حجم RAID). گروه‌ها اجازه می‌دهند چندین ناحیه ناپیوسته برای گزارش‌گیری و تجمیع داده‌ها در کنار یکدیگر گردآوری شوند. .P یک ناحیه می‌تواند با مشخص کردن یکی از گزینه‌های \fB\-\-areas\fP یا \fB\-\-areasize\fP هنگام ایجاد ناحیه با دستور \fBcreate\fP، یا به تعداد مشخصی محدوده هم‌اندازه تقسیم شود یا به محدوده‌هایی با اندازه داده‌شده. بسته به اندازه محدوده‌ها و ناحیه دستگاه، محدوده نهایی درون ناحیه ممکن است از اندازه درخواستی کوچک‌تر باشد. . .SS "شناسه‌های ناحیه (Region identifiers)" . به هر ناحیه در زمان ایجاد یک شناسه اختصاص داده می‌شود که برای ارجاع به ناحیه در عملیات بعدی استفاده می‌شود. شناسه‌های ناحیه درون یک دستگاه داده‌شده یکتا هستند (از جمله در میان مقادیر مختلف \fBprogram_id\fP). .P بسته به توالی عملیات ایجاد و حذف، ممکن است شکاف‌هایی در توالی مقادیر \fBregion_id\fP برای یک دستگاه خاص وجود داشته باشد. .P شناسه \fBregion_id\fP باید به عنوان یک شناسه مبهم (opaque) که برای ارجاع به ناحیه به کار می‌رود در نظر گرفته شود. . .SS "شناسه‌های گروه (Group identifiers)" . به گروه‌ها نیز در زمان ایجاد یک شناسه عدد صحیح اختصاص داده می‌شود؛ همانند شناسه‌های ناحیه، شناسه‌های گروه نیز درون دستگاه دربرگیرنده یکتا هستند. .P شناسه \fBgroup_id\fP باید به عنوان یک شناسه مبهم (opaque) که برای ارجاع به گروه به کار می‌رود در نظر گرفته شود. . .SH "نگاشت فایل (FILE MAPPING)" . با استفاده از \fB\-\-filemap\fP، امکان ایجاد نواحی متناظر با اکستنت‌های یک فایل در سیستم‌فایل وجود دارد. این قابلیت اجازه می‌دهد آمار ورودی/خروجی بر مبنای هر فایل پایش شود، برای نمونه جهت نظارت بر فایل‌های بزرگ پایگاه داده، ایمیج‌های ماشین مجازی، یا سایر فایل‌های مورد نظر. .P برای استفاده از نگاشت فایل، فایل باید توسط یک دستگاه نگاشتگر دستگاه پشتیبانی شود و در یک سیستم‌فایل باشد که از ioctl مربوط به FIEMAP پشتیبانی کند (و داده‌های توصیف‌کننده مکان فیزیکی اکستنت‌ها را بازگرداند). این امر در حال حاضر شامل \fBxfs\fP(5) و \fBext4\fP(5) می‌شود. .P به‌طور پیش‌فرض نواحی تشکیل‌دهنده یک فایل با یکدیگر در یک گروه قرار می‌گیرند و نام مستعار گروه روی \fBbasename(3)\fP فایل تنظیم می‌شود. این کار اجازه می‌دهد آمار برای فایل به عنوان یک کل گزارش شود و مقادیر مربوط به نواحی تشکیل‌دهنده گروه تجمیع گردند. برای مشاهده صرفاً کل فایل (گروه) هنگام استفاده از دستورات \fBlist\fP و \fBreport\fP، از \fB\-\-group\fP استفاده کنید. .P از آنجا که این امکان وجود دارد که فایل پس از ایجاد گروه اولیه نواحی تغییر کند، دستور \fBupdate_filemap\fP و دیمن .BR dmfilemapd (8) برای به‌روزرسانی گروه‌های نگاشت‌شده فایل به‌صورت دستی یا خودکار ارائه شده‌اند. . .SS "حالت‌های ردیابی فایل (File follow modes)" . دیمن پایش نگاشت فایل می‌تواند فایل‌ها را به دو روش متمایز دنبال کند: حالت follow-inode و حالت follow-path. .P این حالت رفتار دیمن را هنگام تغییر نام یا حذف پیوند (unlink) فایلِ تحت پایش و شرایطی که باعث خاتمه کار دیمن می‌شوند تحت تاثیر قرار می‌دهد. .P اگر حالت follow-inode استفاده شود، دیمن فایل را باز نگه می‌دارد و به به‌روزرسانی نواحی از همان توصیف‌کننده فایل ادامه می‌دهد. این بدان معناست که نگاشت عملیات تغییر نام، جابه‌جایی (در همان سیستم‌فایل) و unlink را دنبال خواهد کرد. این حالت زمانی مفید است که انتظار برود فایل در حین پایش جابه‌جا، تغییر نام داده یا unlink شود. .P در حالت follow-inode، دیمن به محض اینکه متوجه شود فایل unlink شده و خود آخرین نگه‌دارنده ارجاع به آن است، خارج خواهد شد. .P اگر follow-path استفاده شود، دیمن مسیر ارائه‌شده را در هر تکرار پایش مجدداً باز می‌کند. این بدان معناست که گروه به‌روزرسانی خواهد شد تا فایل جدیدی را منعکس کند که به همان مسیر فایل اصلی منتقل شده است. این حالت برای فایل‌هایی مفید است که انتظار می‌رود از طریق unlink و rename به‌روزرسانی شوند. .P در حالت follow-path، اگر فایل حذف شود و در یک بازه تحمل کوتاه (یک ثانیه) جایگزین نگردد، دیمن خارج خواهد شد. .P برای متوقف کردن دیمن، گروه حاوی نواحی نگاشت‌شده را حذف کنید: دیمن به‌طور خودکار خاموش خواهد شد. .P همچنین می‌توان دیمن را در هر زمان به‌صورت امن متوقف (kill) کرد و گروه را حفظ نمود: اگر همچنان برای فایل تخصیص فضا انجام شود، نگاشت با افزودن و حذف اکستنت‌ها به‌تدریج قدیمی خواهد شد (در این حالت می‌توان دیمن را مجدداً راه‌اندازی کرد یا گروه را به‌صورت دستی با دستور \fBupdate_filemap\fP به‌روزرسانی نمود). .P برای اطلاعات بیشتر دستور \fBcreate\fP و گزینه‌های \fB\-\-filemap\fP، \fB\-\-follow\fP و \fB\-\-nomonitor\fP را ببینید. . .SS "محدودیت‌ها (Limitations)" . دیمن تلاش می‌کند همگام‌سازی مناسبی میان اکستنت‌های فایل و نواحی موجود در گروه حفظ کند، با این حال، از آنجا که تنها می‌تواند پس از نوشته شدن تخصیص‌های جدید به آن‌ها واکنش نشان دهد، هنگام رشد فایل ناگزیر برخی رویدادهای ورودی/خروجی شمرده نمی‌شوند، به‌ویژه اگر فایل توسط یک ریسه (thread) منفرد که فراتر از انتهای فایل می‌نویسد توسعه یابد (برای نمونه، برنامه .BR dd (1)). .P از دست رفتن رویدادها جنبه دیگری نیز دارد چرا که در حال حاضر هیچ راهی برای تغییر اندازه اتمیک یک ناحیه \fBdmstats\fP و حفظ مقادیر شمارنده فعلی آن وجود ندارد. این امر فایل‌ها را زمانی تحت تاثیر قرار می‌دهد که به جای تخصیص یک اکستنت جدید، با گسترش اکستنت نهایی رشد کنند: هر رویدادی که در ناحیه بین هر عملیات قبلی و تغییر اندازه انباشته شده بود از دست می‌رود. .P نگاشت فایل در حال حاضر در مواردی بیشترین کارایی را دارد که بخش عمده ورودی/خروجی منجر به تخصیص اکستنت نشود. به‌روزرسانی‌های آینده ممکن است در صورت فراهم شدن پشتیبانی در هسته، این محدودیت‌ها را برطرف سازند. . .SH "فیلدهای گزارش (REPORT FIELDS)" . گزارش dmstats چندین نوع فیلد ارائه می‌دهد که می‌توان آن‌ها را به مجموعه فیلدهای پیش‌فرض اضافه کرد یا برای ایجاد گزارش‌های سفارشی به کار برد. .P تمامی شمارنده‌ها و معیارهای کارایی به ازای هر محدوده (per-area) محاسبه می‌شوند. . .SS "معیارهای مشتق‌شده (Derived metrics)" . تعدادی از فیلدهای معیار گنجانده شده‌اند که شاخص‌های کارایی سطح بالا را ارائه می‌دهند. این شاخص‌ها بر اساس فیلدهای ارائه‌شده توسط برنامه متداول iostat در لینوکس بوده و از مقادیر شمارنده‌های پایه ارائه‌شده توسط هسته برای هر محدوده مشتق می‌شوند. .TP .B reads_merged_per_sec تعداد خواندن‌های ادغام‌شده در هر ثانیه. .TP .B writes_merged_per_sec تعداد نوشتن‌های ادغام‌شده در هر ثانیه. .TP .B reads_per_sec تعداد خواندن‌های تکمیل‌شده در هر ثانیه. .TP .B writes_per_sec تعداد نوشتن‌های تکمیل‌شده در هر ثانیه. .TP .B read_size_per_sec حجم داده‌های خوانده‌شده در هر ثانیه. .TP .B write_size_per_sec حجم داده‌های نوشته‌شده در هر ثانیه. .TP .B avg_request_size اندازه میانگین درخواست. .TP .B queue_size اندازه میانگین صف. .TP .B await میانگین زمان انتظار برای عملیات خواندن و نوشتن. .TP .B r_await میانگین زمان انتظار برای عملیات خواندن. .TP .B w_await میانگین زمان انتظار برای عملیات نوشتن. .TP .B throughput توان عملیاتی (throughput) دستگاه بر حسب عملیات در ثانیه. .TP .B service_time میانگین زمان سرویس‌دهی (بر حسب میلی‌ثانیه) برای عملیات ارائه‌شده به دستگاه. .TP .B util درصد زمان پردازنده (CPU) که در طول آن درخواست‌های ورودی/خروجی به دستگاه صادر شده‌اند (بهره‌وری پهنای باند برای دستگاه). اشباع دستگاه زمانی رخ می‌دهد که این مقدار نزدیک به ۱۰۰٪ باشد. . .SS "فیلدهای متای گروه، ناحیه و محدوده (Group, region and area meta fields)" . فیلدهای متا اطلاعاتی درباره گروه‌ها، نواحی یا محدوده‌هایی ارائه می‌دهند که مقادیر آماری با آن‌ها مرتبط هستند. این شامل شناسه ناحیه و محدوده، شروع، طول و تعداد آن‌ها، و همچنین شناسه برنامه و مقادیر داده کاربر است. .TP .B region_id شناسه ناحیه. این یک عدد صحیح غیرمنفی است که توسط هسته در زمان ایجاد یک ناحیه آماری بازگردانده می‌شود. .TP .B region_start مکان شروع ناحیه. واحدهای نمایش توسط گزینه \fB\-\-units\fP انتخاب می‌شوند. .TP .B region_len طول ناحیه. واحدهای نمایش توسط گزینه \fB\-\-units\fP انتخاب می‌شوند. .TP .B area_id شناسه محدوده. شناسه‌های محدوده توسط کتابخانه آماری نگاشتگر دستگاه اختصاص می‌یابند و هر محدوده را درون یک ناحیه به‌طور یکتا مشخص می‌کنند. هر شناسه متناظر با یک مجموعه مجزا از شمارنده‌های کارایی برای آن محدوده از ناحیه آماری است. شناسه‌های محدوده همیشه درون یک ناحیه به‌طور یکنواخت صعودی هستند، به طوری که مقادیر بالاتر شناسه متناظر با آدرس‌های سکتور بزرگ‌تر درون محدوده بوده و هیچ شکافی در توالی شناسه‌ها وجود ندارد. .TP .B area_start مکان شروع محدوده. واحدهای نمایش توسط گزینه \fB\-\-units\fP انتخاب می‌شوند. .TP .B area_len طول محدوده. واحدهای نمایش توسط گزینه \fB\-\-units\fP انتخاب می‌شوند. .TP .B area_count تعداد محدوده‌ها در این ناحیه. .TP .B program_id مقدار شناسه برنامه مرتبط با این ناحیه. .TP .B user_data مقدار داده کاربر مرتبط با این ناحیه. .TP .B group_id شناسه گروه. این یک عدد صحیح غیرمنفی است که توسط دستور \fBgroup\fP در dmstats هنگام ایجاد یک گروه آماری بازگردانده می‌شود. .TP .B interval_ns بازه زمانی تخمینی که در طول آن مقادیر شمارنده فعلی انباشته شده‌اند. این مقدار به عنوان یک عدد صحیح بر حسب واحد نانوثانیه گزارش می‌شود. .TP .B interval بازه زمانی تخمینی که در طول آن مقادیر شمارنده فعلی انباشته شده‌اند. این مقدار به عنوان یک عدد حقیقی بر حسب واحد ثانیه گزارش می‌شود. . .SS "شمارنده‌های پایه (Basic counters)" . شمارنده‌های پایه دسترسی به داده‌های شمارنده خام را از هسته فراهم می‌کنند و اجازه می‌دهند پردازش بیشتر توسط برنامه‌ای دیگر انجام گیرد. .P هسته سیزده شمارنده مجزا برای هر محدوده آماری فراهم می‌کند. یازده مورد نخست از این شمارنده‌ها با شمارنده‌های ارائه‌شده در /proc/diskstats یا /sys/block/*/*/stat مطابقت دارند. جفت پایانی شمارنده‌های مجزایی برای زمان خواندن و نوشتن ارائه می‌دهند. .TP .B read_count تعداد خواندن‌های تکمیل‌شده در این بازه. .TP .B reads_merged_count تعداد خواندن‌های ادغام‌شده در این بازه. .TP .B read_sector_count تعداد سکتورهای ۵۱۲ بایتی خوانده‌شده در این بازه. .TP .B read_time مدت‌زمان انباشته تمامی درخواست‌های خواندن (نانوثانیه). .TP .B write_count تعداد نوشتن‌های تکمیل‌شده در این بازه. .TP .B writes_merged_count تعداد نوشتن‌های ادغام‌شده در این بازه. .TP .B write_sector_count تعداد سکتورهای ۵۱۲ بایتی نوشته‌شده در این بازه. .TP .B write_time مدت‌زمان انباشته تمامی درخواست‌های نوشتن (نانوثانیه). .TP .B in_progress_count تعداد درخواست‌های در حال انجام در حال حاضر. .TP .B io_ticks نانوثانیه‌های صرف‌شده برای سرویس‌دهی به درخواست‌ها. .TP .B queue_ticks این فیلد در هر شروع ورودی/خروجی، اتمام ورودی/خروجی، ادغام ورودی/خروجی، یا خواندن این آمار، به میزان تعداد ورودی/خروجی‌های در حال انجام ضرب در تعداد میلی‌ثانیه‌های صرف‌شده برای انجام ورودی/خروجی از زمان آخرین به‌روزرسانی این فیلد، افزایش می‌یابد. این می‌تواند معیار ساده‌ای از زمان تکمیل ورودی/خروجی و حجم کارهای معوق (backlog) که ممکن است انباشته شده باشند فراهم کند. .TP .B read_ticks نانوثانیه‌های صرف‌شده برای سرویس‌دهی به خواندن‌ها. .TP .B write_ticks نانوثانیه‌های صرف‌شده برای سرویس‌دهی به نوشتن‌ها. . .SS "فیلدهای هیستوگرام (Histogram fields)" . هیستوگرام‌ها توزیع فراوانی بازه‌های تاخیر ورودی/خروجی تعیین‌شده توسط کاربر را اندازه‌گیری می‌کنند. مرزهای دسته‌های هیستوگرام در زمان ایجاد ناحیه مشخص می‌شوند. .P نمایشی مختصر از مقادیر هیستوگرام و بازه‌های تاخیر را می‌توان با استفاده از این فیلدها در گزارش گنجاند. .TP .B hist_count فهرستی از شمارش‌های هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر. هر مقدار بیانگر تعداد ورودی/خروجی‌هایی است که زمان تاخیر آن‌ها در طول دوره نمونه‌برداری در محدوده زمانی آن دسته قرار گرفته است. .TP .B hist_count_bounds فهرستی از شمارش‌های هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر شامل مرزهای دسته: هر شمارش دارای پیشوندی از مرز پایین دسته هیستوگرام متناظر است. .TP .B hist_count_ranges فهرستی از شمارش‌های هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر شامل مرزهای دسته: هر شمارش دارای پیشوندی از هر دو مرز پایین و بالای دسته هیستوگرام متناظر است. .TP .B hist_percent فهرستی از مقادیر نسبی هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر، که به صورت درصد بیان شده است. هر مقدار بیانگر نسبت ورودی/خروجی‌هایی است که زمان تاخیر آن‌ها در طول دوره نمونه‌برداری در محدوده زمانی آن دسته قرار گرفته است. .TP .B hist_percent_bounds فهرستی از مقادیر نسبی هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر، که به صورت درصد بیان شده و شامل مرزهای دسته است. هر مقدار بیانگر نسبت ورودی/خروجی‌هایی است که زمان تاخیر آن‌ها در طول دوره نمونه‌برداری در محدوده زمانی آن دسته قرار گرفته و دارای پیشوندی از مرز پایین دسته متناظر است. .TP .B hist_percent_ranges فهرستی از مقادیر نسبی هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر، که به صورت درصد بیان شده و شامل مرزهای دسته است. هر مقدار بیانگر نسبت ورودی/خروجی‌هایی است که زمان تاخیر آن‌ها در طول دوره نمونه‌برداری در محدوده زمانی آن دسته قرار گرفته و دارای پیشوندی از هر دو مرز پایین و بالای دسته متناظر است. .TP .B hist_bounds فهرستی از مقادیر مرزی هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر. مقادیر در واحدهای کامل ثانیه، میلی‌ثانیه، میکروثانیه یا نانوثانیه همراه با پسوندی که نشان‌دهنده واحد است بیان می‌شوند. .TP .B hist_ranges فهرستی از بازه‌های دسته‌های هیستوگرام برای محدوده آماری فعلی به ترتیب صعودی مقدار تاخیر. مقادیر به‌صورت "LOWER-UPPER" در واحدهای کامل ثانیه، میلی‌ثانیه، میکروثانیه یا نانوثانیه همراه با پسوندی که نشان‌دهنده واحد است بیان می‌شوند. .TP .B hist_bins تعداد دسته‌های هیستوگرام تاخیر پیکربندی‌شده برای محدوده. . .SH "مثال‌ها (EXAMPLES)" . ایجاد یک ناحیه برای کل دستگاه با یک محدوده روی vg00/lvol1 .br # .B dmstats create vg00/lvol1 . .EX vg00/lvol1: Created new region with 1 area(s) as region ID 0 .EE .P ایجاد یک ناحیه ۳۲\~مگابایتی در ۱\~گیگابایتی دستگاه d0 .br # .B dmstats create \-\-start 1G \-\-length 32M d0 . .EX d0: Created new region with 1 area(s) as region ID 0 .EE .P ایجاد یک ناحیه برای کل دستگاه با ۸ محدوده روی هر دستگاه .br # .B dmstats create \-\-areas 8 . .EX vg00\-lvol1: Created new region with 8 area(s) as region ID 0 vg00\-lvol2: Created new region with 8 area(s) as region ID 0 vg00\-lvol3: Created new region with 8 area(s) as region ID 0 vg01\-lvol0: Created new region with 8 area(s) as region ID 2 vg01\-lvol1: Created new region with 8 area(s) as region ID 0 vg00\-lvol2: Created new region with 8 area(s) as region ID 1 .EE . .P حذف تمامی نواحی روی همه دستگاه‌ها .br # .B dmstats delete \-\-alldevices \-\-allregions .P ایجاد یک ناحیه برای کل دستگاه با محدوده‌هایی به اندازه ۱۰\~گیگابایت روی vg00/lvol1 با استفاده از dmsetup .br # .B dmsetup stats create \-\-areasize 10G vg00/lvol1 . .EX vg00\-lvol1: Created new region with 5 area(s) as region ID 1 .EE .P ایجاد یک ناحیه ۱\~گیگابایتی با ۱۶ محدوده در ابتدای vg00/lvol1 .br # .B dmstats create \-\-start 0 \-\-len 1G \-\-areas=16 vg00/lvol1 . .EX vg00\-lvol1: Created new region with 16 area(s) as region ID 0 .EE .P فهرست کردن نواحی آماری ثبت‌شده روی vg00/lvol1 .br # .B dmstats list vg00/lvol1 . .EX Name RgID RStart RSize #Areas ASize ProgID vg00\-lvol1 0 0 61.00g 1 61.00g dmstats vg00\-lvol1 1 61.00g 19.20g 1 19.20g dmstats vg00\-lvol1 2 80.20g 2.14g 1 2.14g dmstats .EE . .P نمایش پنج گزارش آماری برای vg00/lvol1 در بازه زمانی یک ثانیه .br # .B dmstats report \-\-interval 1 \-\-count 5 vg00/lvol1 .br # .B dmstats report . .EX Name RgID ArID AStart ASize RRqM/s WRqM/s R/s \[->] vg00\-lvol1 0 0 0 61.00g 0.00 0.00 0.00 vg00\-lvol1 1 0 61.00g 19.20g 0.00 0.00 0.00 vg00\-lvol1 2 0 80.20g 2.14g 0.00 0.00 0.00 .sp \[->] W/s RSz/s WSz/s AvRqSz QSize Util% AWait RdAWa WrAWa 218.00 0.00 1.04m 4.50k 2.97 81.70 13.62 0.00 13.62 \ 5.00 0.00 548.00k 109.50k 0.14 11.00 27.40 0.00 27.40 \ 14.00 0.00 1.15m 84.00k 0.39 18.70 27.71 0.00 27.71 .EE . .P ایجاد یک ناحیه برای هر تارگت موجود در دستگاه vg00/lvol1 .br # .B dmstats create \-\-segments vg00/lvol1 . .EX vg00\-lvol1: Created new region with 1 area(s) as region ID 0 vg00\-lvol1: Created new region with 1 area(s) as region ID 1 vg00\-lvol1: Created new region with 1 area(s) as region ID 2 .EE .P ایجاد نواحی نگاشت‌کننده هر فایل در دایرکتوری images/ و قرار دادن آن‌ها در گروه‌های مجزا با نام‌گذاری متناظر با هر فایل .br # .B dmstats create \-\-filemap images/* . .EX images/vm1.qcow2: Created new group with 87 region(s) as group ID 0. images/vm1\-1.qcow2: Created new group with 8 region(s) as group ID 87. images/vm2.qcow2: Created new group with 11 region(s) as group ID 95. images/vm2\-1.qcow2: Created new group with 1454 region(s) as group ID 106. images/vm3.img: Created new group with 2 region(s) as group ID 1560. .EE . .P چاپ شمارنده‌های خام برای ناحیه ۴ روی دستگاه d0 .br # .B dmstats print \-\-regionid 4 d0 . .EX 2097152+65536 0 0 0 0 29 0 264 701 0 41 701 0 41 .EE . .SH "نویسندگان (AUTHORS)" . .MT bmr@redhat.com Bryn M. Reeves .ME . .SH "همچنین ببینید (SEE ALSO)" . .nh .na .BR dmfilemapd (8), .BR dmsetup (8), .P .BR ext4 (5), .BR xfs (5) .P .UR https://\:www.sourceware.org/lvm2 صفحه منابع LVM2: .UE .br .UR http://\:www.sourceware.org/dm صفحه منابع نگاشتگر دستگاه (Device-mapper): .UE .P مستندات هسته برای آمار نگاشتگر دستگاه: .br .I Documentation/\:device-mapper/\:statistics.txt