HWLOC-GATHER-TOPOLOGY(1) hwloc HWLOC-GATHER-TOPOLOGY(1)

hwloc-gather-topology - ذخیره فایل‌های توپولوژی مرتبط با لینوکس و x86 و خروجی‌های متنی و XML دستور lstopo برای استفاده‌های بعدی (احتمالاً آفلاین)

hwloc-gather-topology [options] <path>

همچنین فایل‌های مرتبط با I/O را جمع‌آوری می‌کند. فرآیند جمع‌آوری ممکن است بسیار کندتر باشد و آرشیو ایجادشده حجم بسیار بیشتری داشته باشد.
همچنین فایل‌های مرتبط با DMI/SMBIOS را جمع‌آوری می‌کند. این جمع‌آوری نیازمند دسترسی ریشه (root) است و ماژول هسته dmi-sysfs باید بارگذاری شده باشد.
همچنین فایل‌های پردازنده Device-Tree را جمع‌آوری می‌کند. این فایل‌ها برای hwloc ضروری نیستند، اما می‌توان از آن‌ها برای اشکال‌زدایی آنچه لینوکس در /sys ارائه می‌دهد استفاده کرد.
از جمع‌آوری تخلیه (dump) مربوط به CPUID در x86 با استفاده از hwloc-gather-cpuid صرف‌نظر می‌کند.
نگه‌داری رونوشت موقت فایل‌های تخلیه‌شده به‌جای حذف آن‌ها.
نمایش نسخه و خروج.
نمایش پیام راهنما و خروج.

hwloc-gather-topology تمام فایل‌های مرتبط با توپولوژی را در یک آرشیو (<path>.tar.bz2)، خروجی lstopo را در (<path>.output) و خروجی XML ابزار lstopo را در (<path>.xml) ذخیره می‌کند. این ابزار به‌عنوان مثال فایل /proc/cpuinfo و کل درخت دایرکتوری /sys/devices/system/node/ را ذخیره می‌کند.

از این فایل‌ها می‌توان بعداً برای بررسی آفلاین توپولوژی ماشین استفاده کرد. پس از استخراج آرشیو tar، می‌توان آن را برای مثال از طریق گزینه --input به برخی از ابزارهای خط فرمان hwloc داد. همچنین می‌توان با تنظیم مسیر استخراج‌شده در متغیر محیطی HWLOC_FSROOT، توپولوژی پیش‌فرضی را که کتابخانه hwloc می‌خواند بازنویسی کرد.

آرشیو و خروجی‌های متنی و XML ابزار lstopo را می‌توان برای توسعه‌دهندگان hwloc نیز ارسال کرد تا مشکلات را از راه دور عیب‌یابی و اشکال‌زدایی کنند.

hwloc-gather-topology ابزاری مختص لینوکس است و روی سایر سیستم‌عامل‌ها نصب نمی‌شود.

نکته: hwloc-gather-topology جزئیات سخت‌افزاری متعددی را در مورد پلتفرم جمع‌آوری می‌کند. خروجی‌ها و فایل فشرده tar نباید در لیست‌ها یا وب‌سایت‌های عمومی منتشر شوند، مگر اینکه مشخص باشد حاوی هیچ اطلاعات حساسی نیستند.

نکته: فرآیند جمع‌آوری ممکن است چندین دقیقه زمان ببرد، به‌ویژه در گره‌های بزرگ.

نکته: اکیداً توصیه می‌شود پیش از مطالعه این صفحه راهنما، صفحه مرور کلی hwloc(7) را مطالعه فرمایید.

برای ذخیره اطلاعات توپولوژی جهت استفاده‌های بعدی (احتمالاً روی یک میزبان دیگر)، دستور زیر را اجرا کنید:


$ hwloc-gather-topology /tmp/myhost

این دستور تمامی فایل‌های توپولوژی مرتبط را در آرشیو /tmp/myhost.tar.bz2، خروجی lstopo را در فایل /tmp/myhost.output و خروجی XML ابزار lstopo را در فایل /tmp/myhost.xml ذخیره می‌کند. این فایل‌ها را می‌توان برای تحلیل‌های بعدی یا آفلاین و یا به‌عنوان ورودی ابزارهای مختلف hwloc به میزبانی دیگر انتقال داد.

برای استفاده از این داده‌ها در ابزارهای hwloc، ابتدا باید آرشیو myhost.tar.bz2 را استخراج کنید:


$ tar jxvf /tmp/myhost.tar.bz2

اکنون دایرکتوری جدیدی با نام myhost شامل تمامی فایل‌های توپولوژی خواهد بود. سپس با ارسال --input myhost، از ابزارهای گوناگون hwloc می‌خواهید که به‌جای توپولوژی ماشین واقعی از این توپولوژی استفاده کنند. برای نمایش توپولوژی کافی است این دستور را اجرا کنید:


$ lstopo --input ./myhost

نیازی نیست توپولوژی حتماً در دایرکتوری جاری استخراج شده باشد؛ مسیرهای مطلق یا نسبی نیز پشتیبانی می‌شوند:


$ lstopo --input /path/to/remote/host/extracted/topology/

برای مشاهده اینکه hwloc چگونه ۸ وظیفه موازی را روی میزبان اصلی توزیع می‌کند:


$ hwloc-distrib --input myhost --single 8

برای دریافت نمایه‌های فیزیکی متناظر با دستور قبلی:


$ hwloc-calc --input myhost --po --li -I pu $(hwloc-distrib --input myhost --single 8)

هر برنامه‌ای می‌تواند توپولوژی پیش‌فرض را با یک توپولوژی بایگانی‌شده جایگزین کند، حتی اگر گزینه --input را نداشته باشد. برای انجام این کار باید از متغیر محیطی HWLOC_FSROOT استفاده شود:


$ HWLOC_FSROOT=myhost hwloc-calc --po --li -I pu $(hwloc-distrib --single 8)

تمامی این دستورها همان خروجی‌ای را تولید خواهند کرد که گویی مستقیماً روی میزبانی اجرا شده‌اند که اطلاعات توپولوژی در ابتدا توسط اسکریپت hwloc-gather-topology از آن جمع‌آوری شده بود.

در صورت اجرای موفقیت‌آمیز، hwloc-gather-topology با کد خروج 0 خارج خواهد شد.

در صورت بروز هرگونه خطا، مانند (اما نه محدود به) ناتوانی در ایجاد آرشیو یا فایل‌های خروجی، hwloc-gather-topology یک وضعیت خروج غیرصفر بازمی‌گرداند.

hwloc(7), lstopo(1), hwloc-gather-cpuid(1), hwloc-calc(1), hwloc-distrib(1)

June 8, 2026 2.14.0