| bup-memtest(1) | General Commands Manual | bup-memtest(1) |
نام (NAME)
bup-memtest - آزمایش و تحلیل میزان مصرف حافظه رم در bup
خلاصه دستور (SYNOPSIS)
bup memtest [گزینهها...]
توضیحات (DESCRIPTION)
دستور bup memtest فهرست نمایههای بستهها (pack indexes) را در مخزن bup شما باز میکند، سپس فهرست را برای یافتن مجموعهای از اشیاء ناموجود جستجو کرده و پس از هر چرخه، آمار مصرف حافظه را چاپ میکند.
به دلیل شیوه کارکرد سیستمهای یونیکس، خروجی معمولاً مقدار بزرگی (و بدون تغییر) را در ستون VmSize نشان میدهد، زیرا نگاشت پروندههای نمایه در گام نخست، مقدار مشخصی از فضای آدرس مجازی را اشغال میکند. با این حال، این میزان مصرف حافظه کاملاً مجازی است و هیچ فضایی از حافظه رم (RAM) شما را اشغال نمیکند. با گذشت زمان، bup از بخشهایی از نمایهها استفاده میکند که باید از دیسک بارگذاری شوند، و همین امر دلیل افزایش مقدار ستون VmRSS است.
گزینهها (OPTIONS)
- -n, --number=number
- تعیین تعداد اشیایی که در طول هر چرخه جستجو میشوند (یعنی پیش از چاپ یک خط خروجی).
- -c, --cycles=cycles
- تعیین تعداد چرخهها (یعنی تعداد خطوط خروجی پس از خط اول). خط نخست خروجی همواره ۰ است (یعنی خط پایه پیش از جستجو برای هرگونه شیء).
- --ignore-midx
- نادیده گرفتن هرگونه پرونده .midx ایجادشده توسط bup midx. این گزینه به شما امکان میدهد کارایی حافظه را با و بدون استفاده از midx مقایسه کنید.
- --existing
- جستجو برای اشیاء موجود به جای جستجو برای اشیاء تصادفی و ناموجود. این کار میتواند تأثیر زیادی بر میزان مصرف حافظه و کارایی بگذارد. توجه داشته باشید که در بیشتر مواقع، bup save بیشتر زمان خود را صرف جستجوی اشیاء ناموجود میکند، زیرا اشیاء موجود احتمالاً در پروندههای تغییرنیافتهای هستند که در هر صورت قصد پشتیبانگیری از آنها را نداریم. بنابراین رفتار پیشفرض، عملکرد واقعی bup را با دقت بیشتری منعکس میکند. اما ممکن است بخواهید از این گزینه استفاده کنید تا مطمئن شوید که جستجوی اشیاء موجود نسبت به قبل بسیار بدتر نشده باشد.
مثالها (EXAMPLES)
-
$ bup memtest -n300 -c5 PackIdxList: using 1 index. VmSize VmRSS VmData VmStk 0 20824 kB 4528 kB 1980 kB 84 kB 300 20828 kB 5828 kB 1984 kB 84 kB 600 20828 kB 6844 kB 1984 kB 84 kB 900 20828 kB 7836 kB 1984 kB 84 kB 1200 20828 kB 8736 kB 1984 kB 84 kB 1500 20828 kB 9452 kB 1984 kB 84 kB $ bup memtest -n300 -c5 --ignore-midx PackIdxList: using 361 indexes. VmSize VmRSS VmData VmStk 0 27444 kB 6552 kB 2516 kB 84 kB 300 27448 kB 15832 kB 2520 kB 84 kB 600 27448 kB 17220 kB 2520 kB 84 kB 900 27448 kB 18012 kB 2520 kB 84 kB 1200 27448 kB 18388 kB 2520 kB 84 kB 1500 27448 kB 18556 kB 2520 kB 84 kB
بحث و بررسی (DISCUSSION)
هنگام بهینهسازی نمایهسازی در bup، نخستین هدف پایین نگه داشتن VmRSS در حدی معقول است. با این حال، ممکن است در نهایت تعویض (swap in) تمام نمایهها ضروری شود، صرفاً به این دلیل که اشیاء زیادی را جستجو میکنید و این امر در نهایت باعث میشود مقدار RSS شما به اندازه VmSize رشد کند.
کلمه کلیدی در اینجا در نهایت است. تا زمانی که VmRSS با سرعتی معقول و آهسته رشد کند، میزان فعالیت دیسک ناشی از دسترسی به نمایههای بستهها نسبتاً کم است. اگر این مقدار به سرعت رشد کند، bup احتمالاً بیشتر زمان خود را صرف جابجایی دادههای نمایه از دیسک به حافظه میکند تا اینکه در عمل نسخه پشتیبان شما را تهیه نماید، بنابراین پشتیبانگیری بسیار کند اجرا خواهد شد.
هدف از bup memtest این است که به شما تصوری از سرعت رشد مصرف حافظه بدهد و به بهینهسازی bup برای استفاده بهتر از حافظه کمک کند. اگر با مشکلات حافظه روبرو هستید، ممکن است از شما خواسته شود خروجی bup memtest را برای کمک به تشخیص و عیبیابی مشکلات ارسال کنید.
نکته: دستور bup midx -a یا bup midx -f را امتحان کنید تا ببینید آیا به کاهش مصرف حافظه شما کمک میکند یا خیر.
نکته جانبی: مصرف حافظه نمایه در bup (یا git) تنها زمانی یک مشکل واقعی به شمار میرود که تعداد زیادی شیء جدید که قبلاً دیده نشدهاند افزوده شود. زیرا برای هر شیء، باید کاملاً مطمئن شویم که پیشتر در پایگاه داده وجود ندارد، که این امر مستلزم جستجو در میان تمام نمایههای بستههای موجود است تا اطمینان حاصل شود هیچیک از آنها حاوی شیء مورد نظر نیستند. در حالت واضحتر جستجو برای اشیایی که وجود دارند، اشیایی که جستجو میشوند معمولاً به نحوی با یکدیگر مرتبط هستند؛ به این معنی که احتمالاً همگی در تعداد کمی از پروندههای بسته (packfiles) قرار دارند، بنابراین مصرف حافظه تنها به همان نمایههای پروندههای بسته محدود خواهد شد.
از آنجا که کاربران git معمولاً در یک بار اجرا پروندههای زیادی اضافه نمیکنند، git واقعاً به برنامهای مانند bup midx نیازی ندارد. از طرف دیگر، bup بیشتر زمان خود را صرف پشتیبانگیری از پروندههایی میکند که قبلاً ندیده است، بنابراین الگوهای مصرف حافظه آن متفاوت است.
همچنین ببینید (SEE ALSO)
bup-midx(1)
بییوپی (BUP)
بخشی از مجموعه bup(1).
نویسندگان (AUTHORS)
Avery Pennarun apenwarr@gmail.com.
| 2026-09-01 | Bup 0.34+ |