'\" t .\" Copyright 1994-1995, Daniel Quinlan .\" Copyright 2002-2017, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .TH proc_pid_smaps 5 2026-02-08 "Linux man-pages 6.19" .SH "نام (NAME)" /proc/pid/smaps \- میزان مصرف حافظه برای هر یک از نگاشت‌های فرایند .SH "توضیحات (DESCRIPTION)" .TP .IR /proc/ pid /smaps " (از لینوکس 2.6.14)" این پرونده میزان مصرف حافظه را برای هر یک از نگاشت‌های فرایند نشان می‌دهد. (دستور .BR pmap (1) اطلاعات مشابهی را به شکلی نمایش می‌دهد که ممکن است برای تجزیه آسان‌تر باشد.) برای هر نگاشت، مجموعه‌ای از خطوط مانند نمونه زیر وجود دارد: .IP .in +4n .EX 00400000\-0048a000 r\-xp 00000000 fd:03 960637 /bin/bash Size: 552 kB Rss: 460 kB Pss: 100 kB Shared_Clean: 452 kB Shared_Dirty: 0 kB Private_Clean: 8 kB Private_Dirty: 0 kB Referenced: 460 kB Anonymous: 0 kB AnonHugePages: 0 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB Swap: 0 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Locked: 0 kB ProtectionKey: 0 VmFlags: rd ex mr mw me dw .EE .in .IP نخستین خط از این خطوط، همان اطلاعاتی را نشان می‌دهد که برای نگاشت در .IR /proc/ pid /maps نمایش داده می‌شود. خطوط بعدی اندازه نگاشت، مقدار نگاشتی که در حال حاضر در حافظه RAM مقیم است ("Rss")، سهم متناسب فرایند از این نگاشت ("Pss")، تعداد صفحه‌های اشتراکی تمیز (clean) و کثیف (dirty) در نگاشت، و تعداد صفحه‌های اختصاصی تمیز و کثیف در نگاشت را نشان می‌دهند. عبارت "Referenced" نشان‌دهنده مقدار حافظه‌ای است که در حال حاضر به عنوان ارجاع‌شده یا دسترسی‌یافته علامت‌گذاری شده است. عبارت "Anonymous" مقدار حافظه‌ای را نشان می‌دهد که به هیچ فایلی تعلق ندارد. عبارت "Swap" مشخص می‌کند چه مقدار از حافظه‌ای که می‌توانست ناشناس باشد استفاده شده، اما به فضای مبادله (swap) منتقل شده است. .IP خط "KernelPageSize" (در دسترس از لینوکس 2.6.29) اندازه صفحه‌ای است که هسته برای پشتیبانی از ناحیه حافظه مجازی استفاده می‌کند. این اندازه در بیشتر موارد با اندازه‌ای که توسط MMU استفاده می‌شود یکسان است. با این حال، یک مثال نقض در هسته‌های PPC64 رخ می‌دهد که در آن هسته‌ای با اندازه صفحه پایه 64 کیلوبایت ممکن است در پردازنده‌های قدیمی‌تر همچنان از صفحه‌های 4 کیلوبایتی برای MMU استفاده کند. جهت تمایز این دو مشخصه، خط "MMUPageSize" (همچنین در دسترس از لینوکس 2.6.29) اندازه صفحه مورد استفاده توسط MMU را گزارش می‌کند. .IP خط "Locked" مشخص می‌کند که آیا نگاشت در حافظه قفل شده است یا خیر. .IP خط "ProtectionKey" (در دسترس از لینوکس 4.9، فقط روی x86) شامل کلید محافظت از حافظه مرتبط با ناحیه حافظه مجازی است (ببینید .BR pkeys (7)). این مدخل تنها در صورتی وجود دارد که هسته با گزینه پیکربندی .B CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS ساخته شده باشد (از لینوکس 4.6). .IP خط "VmFlags" (در دسترس از لینوکس 3.8) نشان‌دهنده پرچم‌های هسته مرتبط با ناحیه حافظه مجازی است که با استفاده از کدهای دو حرفی زیر کدگذاری شده‌اند: .RS .IP .TS l l. rd قابل خواندن wr قابل نوشتن ex قابل اجرا sh اشتراکی mr امکان خواندن mw امکان نوشتن me امکان اجرا ms امکان اشتراک‌گذاری gd رشد بخش پشته به سمت پایین pf محدوده PFN خالص dw غیرفعال بودن نوشتن در پرونده نگاشت‌شده lo صفحه‌ها در حافظه قفل شده‌اند io ناحیه ورودی/خروجی نگاشت‌شده در حافظه sr ارائه توصیه خواندن ترتیبی rr ارائه توصیه خواندن تصادفی dc عدم کپی ناحیه هنگام انشعاب (fork) de عدم گسترش ناحیه هنگام نگاشت مجدد ac ناحیه قابل محاسبه و حسابرسی است (accountable) nr فضای swap برای ناحیه رزرو نشده است ht ناحیه از صفحه‌های بزرگ tlb استفاده می‌کند sf انجام خطاهای صفحه به‌صورت همگام (از لینوکس 4.15) nl نگاشت غیرخطی (حذف‌شده در لینوکس 4.0) ar پرچم مختص معماری wf پاک‌سازی هنگام انشعاب (از لینوکس 4.14) dd عدم گنجاندن ناحیه در core dump sd پرچم soft-dirty (از لینوکس 3.13) mm ناحیه نگاشت ترکیبی hg پرچم توصیه صفحه بزرگ nh پرچم توصیه عدم استفاده از صفحه بزرگ mg پرچم توصیه ادغام‌پذیری um ردیابی صفحه‌های ناموجود در userfaultfd (از لینوکس 4.3) uw ردیابی صفحه‌های wprotect در userfaultfd (از لینوکس 4.3) .TE .RE .IP پرونده .IR /proc/ pid /smaps تنها در صورتی وجود دارد که گزینه پیکربندی هسته .B CONFIG_PROC_PAGE_MONITOR فعال باشد. .SH "همچنین ببینید (SEE ALSO)" .BR proc (5)