.TH "numastat" "8" "1.0.0" "Bill Gray" "Administration" .SH "نام (NAME)" numastat \- نمایش آمار حافظه به ازای گره‌های NUMA برای فرآیندها و سیستم‌عامل .SH "سینتکس (SYNTAX)" .LP \fBnumastat\fP .br .LP \fBnumastat\fP [\fI\-V\fP] .br .LP \fBnumastat\fP [\fI\|...\fP] .br .LP \fBnumastat\fP [\fI\-c\fP] [\fI\-m\fP] [\fI\-n\fP] [\fI\-p |\fP] [\fI\-s[]\fP] [\fI\-v\fP] [\fI\-z\fP] [\fI\|...\fP] .br .SH "توضیحات (DESCRIPTION)" .LP دستور .B numastat بدون هیچ گزینه یا آرگومانی، آمار اصابت (hit) و خطای (miss) حافظه سامانه NUMA را به ازای هر گره از تخصیص‌دهنده حافظه هسته نمایش می‌دهد. این رفتار پیش‌فرض \fBnumastat\fP کاملاً با اسکریپت پرل قدیمی \fBnumastat\fP نوشته‌شده توسط Andi Kleen سازگار است. آمار پیش‌فرض \fBnumastat\fP اعداد مربوط به هر گره را (بر حسب واحدهای صفحات حافظه) در این دسته‌بندی‌ها نمایش می‌دهد: .LP .B numa_hit حافظه‌ای است که با موفقیت و طبق انتظار روی این گره تخصیص یافته است. .LP .B numa_miss حافظه‌ای است که روی این گره تخصیص یافته، با وجود اینکه فرآیند گره دیگری را ترجیح می‌داده است. هر .I numa_miss دارای یک .I numa_foreign روی گره دیگری است. .LP .B numa_foreign حافظه‌ای است که برای این گره در نظر گرفته شده بوده، اما در عمل روی گره دیگری تخصیص یافته است. هر .I numa_foreign دارای یک .I numa_miss روی گره دیگری است. .LP .B interleave_hit حافظه درهم‌تنیده‌ای (interleaved) است که با موفقیت و طبق انتظار روی این گره تخصیص یافته است. .LP .B local_node حافظه‌ای است که روی این گره تخصیص یافته، در حالی که فرآیند روی همین گره در حال اجرا بوده است. .LP .B other_node حافظه‌ای است که روی این گره تخصیص یافته، در حالی که فرآیند روی گره دیگری در حال اجرا بوده است. .LP هرگونه گزینه یا آرگومان ارائه‌شده همراه با دستور \fBnumastat\fP هم محتوا و هم قالب نمایش را به طور قابل‌توجهی تغییر می‌دهد. گزینه‌های مشخص‌شده باعث می‌شوند واحدهای نمایش به مگابایت حافظه تغییر یابند و رفتارهای خاص دیگری از \fBnumastat\fP را به شرح زیر تغییر خواهند داد. .LP اطلاعات مصرف حافظه نشان‌دهنده صفحات مقیم (resident pages) در سیستم است. .SH "گزینه‌ها (OPTIONS)" .LP .TP \fB\-c\fR عرض جدول نمایش را با کوچک کردن پویای عرض ستون‌ها بر اساس محتوای داده‌ها به حداقل می‌رساند. با این گزینه، مقادیر حافظه به نزدیک‌ترین مگابایت گرد می‌شوند (به‌جای نمایش معمول با دو رقم اعشار). عرض ستون‌ها و فاصله بین ستون‌ها با این گزینه تا حدی غیرقابل‌پیش‌بینی خواهد بود، اما نمایش فشرده‌تر در سیستم‌هایی با گره‌های NUMA متعدد بسیار مفید خواهد بود. .TP \fB\-m\fR اطلاعات مصرف حافظه سراسر سیستم را مشابه meminfo نمایش می‌دهد. این گزینه تفکیک مصرف حافظه به ازای هر گره را مشابه آنچه در /proc/meminfo یافت می‌شود تولید می‌کند. .TP \fB\-n\fR اطلاعات آماری اولیه \fBnumastat\fP را نمایش می‌دهد. این گزینه همان اطلاعات رفتار پیش‌فرض \fBnumastat\fP را نشان می‌دهد، اما واحدها مگابایت حافظه خواهند بود و تغییرات قالب‌بندی و چیدمان دیگری نسبت به رفتار اولیه \fBnumastat\fP وجود خواهد داشت. .TP \fB\-p\fR <\fBPID\fP> یا <\fBpattern\fP> اطلاعات تخصیص حافظه به ازای هر گره را برای PID یا الگوی مشخص‌شده نمایش می‌دهد. اگر آرگومان \-p فقط شامل ارقام باشد، یک PID عددی در نظر گرفته می‌شود. اگر کاراکترهای آرگومان فقط رقم نباشند، به عنوان الگوی قطعه متنی برای جستجو در خط فرمان فرآیندها در نظر گرفته می‌شود. برای مثال، \fBnumastat -p qemu\fP تلاش می‌کند فرآیندهایی را که عبارت "qemu" در خط فرمان آن‌ها وجود دارد پیدا کرده و اطلاعات آن‌ها را نمایش دهد. هر آرگومان خط فرمانی که پس از پردازش پرچم‌های گزینه \fBnumastat\fP باقی بماند، به عنوان شناسه فرآیند <\fBPID\fP> یا <\fBpattern\fP> اضافی در نظر گرفته می‌شود. از این نظر، پرچم گزینه \fB\-p\fP اختیاری است: \fBnumastat qemu\fP معادل \fBnumastat -p qemu\fP است. .TP \fB\-s[]\fR داده‌های جدول را پیش از نمایش به صورت نزولی مرتب می‌کند تا بیشترین مصرف‌کنندگان حافظه در ابتدا فهرست شوند. بدون تعیین ، جدول بر اساس ستون total مرتب می‌شود. اگر آرگومان اختیاری ارائه شود، داده‌ها بر اساس ستون مرتب خواهند شد. توجه داشته باشید که باید بلافاصله پس از \fB\-s\fP بدون هیچ فاصله خالی بیاید (برای مثال، \fBnumastat \-s2\fP). از آنجا که \fB\-s\fP می‌تواند یک آرگومان اختیاری بپذیرد، همیشه باید آخرین کاراکتر گزینه در یک رشته ترکیبی از گزینه‌ها باشد. برای مثال، به‌جای \fBnumastat \-msc\fP (که احتمالاً طبق انتظار شما عمل نخواهد کرد)، از \fBnumastat \-mcs\fP استفاده کنید. .TP \fB\-v\fR برخی گزارش‌ها را با جزئیات بیشتر نمایش می‌دهد. به‌ویژه، اطلاعات فرآیند برای چندین فرآیند، اطلاعات تفصیلی را برای هر فرآیند نمایش خواهد داد. معمولاً هنگامی که اطلاعات مربوط به هر گره برای چندین فرآیند نمایش داده می‌شود، تنها خطوط مجموع (total) نشان داده می‌شوند. .TP \fB\-V\fR اطلاعات نسخه \fBnumastat\fP را نمایش داده و خارج می‌شود. .TP \fB\-z\fR از نمایش سطرها و ستون‌های جدول که تنها حاوی مقادیر صفر هستند صرف‌نظر می‌کند. از این گزینه می‌توان برای کاهش چشمگیر حجم داده‌های غیرمهم صفر در سیستم‌هایی با گره‌های NUMA فراوان استفاده کرد. توجه داشته باشید که وقتی سطرها یا ستون‌های حاوی صفر همچنان با این گزینه نمایش داده می‌شوند، احتمالاً به این معنی است که حداقل یک مقدار در سطر یا ستون در واقع غیرصفر است، اما برای نمایش به صفر گرد شده است. .SH "نکات (NOTES)" دستور \fBnumastat\fP تلاش می‌کند نمایش هر جدول را طوری تنظیم کند که در ترمینال خروجی به‌راحتی خوانا باشد. معمولاً عرض ترمینال ۸۰ کاراکتر فرض می‌شود. هنگامی که دستور \fBresize\fP در دسترس باشد، \fBnumastat\fP تلاش می‌کند عرض tty خروجی را به‌طور پویا از روی خروجی \fBresize\fP تعیین و تنظیم دقیق کند. اگر خروجی \fBnumastat\fP به یک tty ارسال نشود، ممکن است بسته به تعداد گره‌های NUMA موجود، خطوط خروجی بسیار طولانی تولید شوند. در همه موارد، عرض خروجی را می‌توان به‌طور صریح از طریق متغیر محیطی \fBNUMASTAT_WIDTH\fP مشخص کرد؛ برای مثال، \fBNUMASTAT_WIDTH=100 numastat\fP. در سیستم‌هایی با گره‌های NUMA فراوان، \fBnumastat \-c \-z ....\fP می‌تواند برای کاهش انتخابی مقدار اطلاعات نمایش‌داده‌شده بسیار سودمند باشد. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .LP .TP NUMASTAT_WIDTH .SH "فایل‌ها (FILES)" .LP \fI/proc/*/numa_maps\fP .br \fI/sys/devices/system/node/node*/meminfo\fP .br \fI/sys/devices/system/node/node*/numastat\fP .SH "مثال‌ها (EXAMPLES)" .I numastat \-c \-z \-m \-n .br .I numastat \-czs libvirt kvm qemu .br .I watch \-n1 numastat .br .I watch \-n1 \-\-differences=cumulative numastat .SH "نویسندگان (AUTHORS)" .LP اسکریپت پرل اولیه \fBnumastat\fP حدود سال ۲۰۰۳ میلادی توسط Andi Kleen نوشته شد. برنامه فعلی \fBnumastat\fP در سال ۲۰۱۲ توسط Bill Gray نوشته شد تا به‌طور پیش‌فرض با نسخه اولیه سازگار باشد و گزینه‌هایی برای نمایش مصرف حافظه سیستم به ازای هر گره و تخصیص حافظه فرآیند به ازای هر گره اضافه شود. .SH "همچنین ببینید (SEE ALSO)" .LP .BR numactl (8), .BR set_mempolicy (2), .BR numa (3)