tmpfs(5)

الاسم
tmpfs - نظام ملفات ذاكرة افتراضية

الوصف
تتيح أداة tmpfs إنشاء أنظمة ملفات تخزن محتوياتها في الذاكرة الافتراضية. نظرًا لأن الملفات على هذه الأنظمة تقيم عادةً في RAM، يكون الوصول إلى الملفات سريعًا للغاية.

يُنشأ نظام الملفات آليًا عند وصل نظام ملفات من النوع tmpfs عبر أمر مثل التالي:

    $ sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs

يمتلك نظام ملفات tmpfs الخصائص التالية:

•   يمكن لنظام الملفات استخدام مساحة المبادلة عندما يتطلب ضغط الذاكرة الفعلية ذلك.

•   يستهلك نظام الملفات فقط مقدار الذاكرة الفعلية ومساحة المبادلة اللازمة لتخزين المحتويات الحالية لنظام الملفات.

•   أثناء عملية إعادة الوصل (mount -o remount)، يمكن تغيير حجم نظام الملفات (دون فقدان المحتويات الحالية لنظام الملفات).

إذا فُصل نظام ملفات tmpfs، تُتجاهل محتوياته (تُفقد).

  خيارات الوصل
يدعم نظام ملفات tmpfs خيارات الوصل التالية:

size=بايت
    حدد حدًا أعلى لحجم نظام الملفات. يُعطى الحجم بالبايت، ويُقرّب إلى صفحات كاملة. يُزال الحد إذا كان الحجم 0.

    قد يحتوي الحجم على لاحقة k أو m أو g لـ Ki وMi وGi (كيلو ثنائي (kibi)، وميغا ثنائي (mebi)، وغيجا ثنائي (gibi)).

    قد يحتوي الحجم أيضًا على لاحقة % لتحديد هذا المثيل بنسبة مئوية من RAM الفعلية.

    المبدئي، عندما لا يُحدد size ولا nr_blocks، هو size=50%.

nr_blocks=كتل
    نفس size، لكن بالكتل من PAGE_CACHE_SIZE.

    يمكن تحديد الكتل بلواحق k أو m أو g مثل size، لكن ليس لاحقة %.

nr_inodes=عقد
    الحد الأقصى لعدد عُقد الفهرس (inodes) لهذه النسخة. المبدئي هو نصف عدد صفحات ذاكرة الوصول العشوائي الفعلية، أو (على جهاز ذي ذاكرة عالية) عدد صفحات ذاكرة الوصول العشوائي المنخفضة، أيهما أصغر. يُزال الحد إذا كان الرقم 0.

    يمكن تحديد عُقد الفهرس باستخدام اللواحق k أو m أو g مثل size، ولكن ليس لاحقة %.

noswap(منذ لينكس 6.4)
    يعطل المبادلة. يجب أن تحترم عمليات إعادة الوصل الإعدادات الأصلية. المبادلة مفعلة مبدئيًا.

mode=mode
    يضبط أذونات الدليل الجذر الأولية.

gid=gid (منذ لينكس 2.5.7)
    يضبط معرف المجموعة الأولي للدليل الجذر.

uid=uid (منذ لينكس 2.5.7)
    يضبط معرف المستخدم الأولي للدليل الجذر.

huge=huge_option (منذ لينكس 4.7.0)
    يضبط سياسة تخصيص ذاكرة الجدول الضخم لجميع الملفات في هذه النسخة (إذا كان CONFIG_TRANSPARENT_HUGEPAGE مفعلًا).

    قيمة huge_option هي إحدى التالي:

    never
        لا يخصص صفحات ضخمة. هذا هو المبدئي.

    always
        يحاول تخصيص صفحات ضخمة في كل مرة تحتاج فيها صفحة جديدة.

    within_size
        يخصص صفحة ضخمة فقط إذا كانت ستكون بالكامل ضمن i_size. كما يحترم تلميحات fadvise(2) وmadvise(2)

    advise
        يخصص صفحات ضخمة فقط إذا طُلبت باستخدام fadvise(2) أو madvise(2).

    deny
        للاستخدام في حالات الطوارئ، لفرض إيقاف الخيار الضخم من جميع نقاط الوصل.

    force
        فرض تشغيل الخيار الضخم على جميع نقاط الوصل؛ مفيد للاختبار.

mpol=mpol_option (منذ لينكس 2.6.15)
    تعيين سياسة تخصيص الذاكرة NUMA لجميع الملفات في هذه النسخة (إذا كان CONFIG_NUMA مفعّلاً).

    قيمة mpol_option هي إحدى التالية:

    default
        استخدام سياسة تخصيص العملية (انظر set_mempolicy(2)).

    prefer:node
        تخصيص الذاكرة بشكل مفضل من node المعطاة.

    bind:nodelist
        تخصيص الذاكرة فقط من العقد في nodelist.

    interleave
        التخصيص من كل عقدة بالتناوب.

    interleave:nodelist
        التخصيص من كل عقدة من in بالتناوب.

    local
        تخصيص الذاكرة بشكل مفضل من العقدة المحلية.

    فيما سبق، nodelist هي قائمة مفصولة بفواصل من الأرقام العشرية والنطاقات التي تحدد عقد NUMA. النطاق هو زوج من الأرقام العشرية مفصولة بواصلة، أصغر وأكبر أرقام العقد في النطاق. على سبيل المثال، mpol=bind:0-3,5,7,9-15.

الإصدارات
أُضيفت ميزة tmpfs في لينكس 2.4، كخليفة لميزة ramfs الأقدم، التي لم توفر التحقق من الحدود أو تسمح باستخدام مساحة المبادلة.

ملاحظات
لكي تتمكن أدوات وتطبيقات مساحة المستخدم من إنشاء أنظمة ملفات tmpfs، يجب تكوين النواة مع الخيار CONFIG_TMPFS.

نظام الملفات tmpfs يدعم السمات الموسعة (انظر xattr(7))، لكن السمات الموسعة user غير مسموح بها.

يُستخدم نظام ملفات ذاكرة مشتركة داخلي للذاكرة المشتركة System V (shmget(2)) والتعيينات المجهولة المشتركة (mmap(2) مع الأعلام MAP_SHARED و MAP_ANONYMOUS). هذا النظام متاح بغض النظر عما إذا كانت النواة مكونة مع الخيار CONFIG_TMPFS.

نظام ملفات tmpfs موصول في /dev/shm يُستخدم لتنفيذ الذاكرة المشتركة POSIX (shm_overview(7)) والإشارات POSIX (sem_overview(7)).

كمية الذاكرة المستهلكة من قبل جميع أنظمة ملفات tmpfs تُعرض في حقل Shmem من /proc/meminfo وفي حقل shared المعروض بواسطة free(1).

مرفق tmpfs كان يُسمى سابقًا shmfs.

انظر أيضًا
df(1), du(1), memfd_create(2), mmap(2), set_mempolicy(2), shm_open(3), mount(8)

ملفات مصدر النواة Documentation/filesystems/tmpfs.rst و Documentation/admin-guide/mm/transhuge.rst.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.