| sacct(1) | Slurm Commands | sacct(1) |
نام (NAME)
sacct - نمایش دادههای حسابداری برای تمام کارها و گامهای کار در لاگ حسابداری کار یا پایگاه داده Slurm
خلاصه دستور (SYNOPSIS)
sacct [OPTIONS...]
توضیحات (DESCRIPTION)
اطلاعات حسابداری برای کارهای فراخوانیشده با Slurm، بر اساس پیکربندی انجامشده با پارامتر AccountingStorageType، در فایل لاگ حسابداری کار ثبت میشوند یا در پایگاه داده Slurm ذخیره میگردند.
دستور sacct دادههای حسابداری کار ذخیرهشده در فایل لاگ حسابداری کار یا پایگاه داده Slurm را در قالبهای گوناگونی برای تحلیل شما نمایش میدهد. دستور sacct بهطور پیشفرض اطلاعات کارها، گامهای کار، وضعیت و کدهای خروج (exitcodes) را نمایش میدهد. شما میتوانید با استفاده از گزینه --format= خروجی را سفارشیسازی کنید تا فیلدهای مورد نظر برای نمایش مشخص شوند.
رکوردهای کار شامل یک مدخل اصلی برای کل کار و همچنین مدخلهایی برای گامهای کار هستند. صفحه Job Launch شامل توضیحات دقیقتری درباره هر نوع گام کار است. https://slurm.schedmd.com/job_launch.html#job_record
برای کاربر root، دستور sacct دادههای حسابداری کار را برای تمام کاربران نمایش میدهد، هرچند گزینههایی برای فیلتر کردن خروجی جهت گزارش تنها کارهای مربوط به یک کاربر یا گروه مشخص وجود دارد.
برای کاربران غیر root، دستور sacct نمایش دادههای حسابداری کار را بهطور پیشفرض به کارهایی که با شناسه کاربری (UID) خود آنها اجرا شدهاند محدود میکند. دادههای سایر کاربران را میتوان با گزینههای --allusers، --user یا --uid نمایش داد.
فیلدهای زمان سپریشده بهصورت [days-]hours:minutes:seconds[.microseconds] ارائه میشوند. تنها فیلدهای 'CPU' دارای میکروثانیه خواهند بود.
نکته: در صورت تعیین، گزینه PrivateData در slurmdbd.conf ممکن است دادههای حسابداری قابل مشاهده برای کاربرانی که SlurmUser، root یا کاربری با AdminLevel=Admin نیستند را بیشتر محدود کند. برای جزئیات بیشتر درباره محدود کردن دسترسی به دادههای حسابداری به صفحه راهنمای slurmdbd.conf مراجعه کنید.
نکته: محتویات پایگاه داده Slurm با حروف کوچک نگهداری میشوند. این امر ممکن است منجر به تفاوت برخی از خروجیهای sacct با خروجی سایر دستورات Slurm شود.
نکته: بخش زیادی از دادههای گزارششده توسط sacct توسط فراخوانهای سیستمی wait3() و getrusage() تولید شدهاند. برخی از سیستمها اطلاعات ناقصی را برای این فراخوانها جمعآوری و گزارش میکنند؛ sacct برای این دادههای ناموجود مقدار 0 را گزارش میدهد. برای اطلاعات درباره اینکه کدام دادهها در عمل در سیستم شما موجود هستند به صفحه راهنمای getrusage (3) سیستم خود مراجعه کنید.
گزینهها (OPTIONS)
- -A, --accounts=<account_list>
- نمایش کارها در حالتی که فهرستی از حسابها جدا شده با کاما به عنوان آرگومان داده شده باشد.
- --array
- گسترش آرایههای کار. نمایش تمام تسکهای آرایه در خطوط جداگانه بهجای نمایش گروههای تسکهای آرایه در یک خط واحد.
- -L, --allclusters
- نمایش کارهای اجرا شده روی همه کلاسترها. بهطور پیشفرض، تنها کارهای اجرا شده روی کلاستری که sacct از آن فراخوانی شده است نمایش داده میشوند.
- -X, --allocations
- تنها نمایش
آمارهای
مربوط به
خود تخصیص
کار، بدون
در نظر
گرفتن
گامها.
نکته: بدون لحاظ کردن گامها، آمار بهرهوری برای تخصیص(های) کار برابر با صفر گزارش خواهد شد.
- -a, --allusers
- نمایش کارهای همه کاربران هنگام اجرا توسط کاربر root یا در صورتی که PrivateData روی jobs پیکربندی نشده باشد. در غیر این صورت کارهای کاربر فعلی را نمایش میدهد.
- -x, --associations=<assoc_list>
- نمایش آمار تنها برای کارهایی که تحت شناسههای انتساب مشخصشده توسط عملوند assoc_list در حال اجرا هستند؛ که یک فهرست جداشده با کاما از شناسههای انتساب است. کاراکترهای فاصله در assoc_list مجاز نیستند. مقدار پیشفرض، تمام انتسابها است.
- -B, --batch-script
- این گزینه
اسکریپت
دستهای
کار را در
صورت وجود
چاپ میکند.
اگر کار
اسکریپتی
نداشته
باشد، 'NONE'
خروجی داده
میشود.
نکته: برای این کار AccountingStoreFlags=job_script لازم است.
نکته: برای این کار درخواست کار(های) مشخص با '-j' لازم است.
- -b, --brief
- نمایش فهرستی مختصر شامل JobID، State و ExitCode.
- -M, --clusters=<cluster_list>
- نمایش آمار تنها برای کارهای شروعشده در کلاسترهای مشخصشده توسط عملوند cluster_list، که فهرستی جداشده با کاما از کلاسترها است. کاراکترهای فاصله در cluster_list مجاز نیستند. مقدار 'all' برای اجرا روی تمام کلاسترها پرسوجو میکند. پیشفرض کلاستر فعلی است که دستور sacct را روی آن اجرا میکنید، یا هنگام اجرا روی یک کلاستر فدرال تمام کلاسترهای فدراسیون است. این گزینه بهطور ضمنی گزینه --local را تنظیم میکند.
- -c, --completion
- استفاده از دادههای تکمیل کار بهجای حسابداری کار. پارامتر JobCompType در فایل slurm.conf باید روی گزینهای غیر از none تعریف شده باشد. از اطلاعات کلاستر فدرال پشتیبانی نمیکند (فقط دادههای محلی).
- -C, --constraints=<constraint_list>
- فهرست جداشده با کاما برای فیلتر کردن کارها بر اساس محدودیتها/ویژگیهایی که کار درخواست کرده است. گزینههای متعدد بهصورت 'and' و نه 'or' در نظر گرفته میشوند، بنابراین کار باید تمام محدودیتهای مشخصشده را داشته باشد تا بازگردانده شود، نه فقط یکی از آنها را.
- --delimiter=<characters>
- کاراکترهای ASCII استفادهشده برای جداسازی فیلدها هنگام تعیین گزینههای -p یا -P. جداکننده پیشفرض '|' است. در صورتی که گزینههای -p یا -P مشخص نشده باشند، این گزینه نادیده گرفته میشود.
- -D, --duplicates
- اجازه نمایش چندین رکورد کار برای یک شناسه کار (job ID) یا SLUID یکسان. بهطور پیشفرض، اگر چندین رکورد کار برای یک شناسه کار یا SLUID با درخواست مطابقت داشته باشد، تنها جدیدترین آنها نمایش داده میشود. رکوردهای تکراری میتوانند ناشی از صفبندی مجدد (requeues)، فدراسیون، تغییر اندازه یا رسیدن کارها به مقدار MaxJobId و بازنشانی باشند. چنین رکوردهایی را میتوان با برچسب زمانی Submit، فیلد OriginalSLUID یا فیلد SLUID متمایز کرد.
- -E, --endtime=<end_time>
- انتخاب
کارهایی در
هر وضعیتی
پیش از زمان
مشخصشده.
اگر
وضعیتها
با گزینه -s
داده شده
باشند،
کارهای
موجود در
این وضعیت
پیش از این
بازه
بازگردانده
میشوند.
برای
جزئیات
درباره
نحوه تعیین
مقادیر
پیشفرض --starttime
و --endtime به بخش
بازه
زمانی
پیشفرض (DEFAULT TIME
WINDOW) (در زیر)
مراجعه
کنید.
فرمتهای معتبر زمان عبارتند از:
HH:MM[:SS][AM|PM]
MMDD[YY][-HH:MM[:SS]]
MM.DD[.YY][-HH:MM[:SS]]
MM/DD[/YY][-HH:MM[:SS]]
YYYY-MM-DD[THH:MM[:SS]]
today, midnight, noon, elevenses (11 AM), fika (3 PM), teatime (4 PM)
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- --env-vars
- این گزینه
محیط اجرای
یک کار
دستهای (batch job)
را چاپ
میکند؛ در
غیر این
صورت 'NONE'
خروجی داده
میشود.
نکته: برای این کار AccountingStoreFlags=job_env لازم است.
نکته: برای این کار درخواست کار(های) مشخص با '-j' لازم است. - --expand-patterns
- الگوهای نام فایل موجود در StdOut، StdErr و StdIn را گسترش میدهد. فیلدهایی که به بازهای از مقادیر نگاشت میشوند، از نخستین مقدار بازه استفاده خواهند کرد. برای نمونه "%t" برای شناسه وظیفه با "0" جایگزین خواهد شد.
- --federation
- در صورت عضویت در یک فدراسیون، کارهای فدراسیون را نمایش میدهد.
- -f, --file=<file>
- باعث میشود دستور sacct دادههای حسابداری کار را بهجای فایل لاگ جاری حسابداری کار Slurm، از file نامبرده بخواند. تنها هنگام اجرای افزونهٔ jobcomp/filetxt کاربرد دارد. تنظیم این فلگ بهطور ضمنی فلگ -c را فعال میکند.
- -F, --flags=<flag_list>
- فهرستی جداشده با کاما برای فیلتر کردن کارها بر اساس روشهای گوناگونی که برای رسیدگی به آنها به کار رفته است. فلگهای جاری عبارتند از SchedSubmit، SchedMain، SchedBackfill و StartReceived. گزینههای SchedSubmit، SchedMain و SchedBackfill زمانبندی را توصیف میکنند که کار را آغاز کرده است.
- -o, --format
- فهرستی
جداشده با
کاما از
فیلدها.
(برای
فهرستی از
فیلدهای در
دسترس از
"--helpformat"
استفاده
کنید).
نکته: هنگام استفاده از گزینه format برای فهرست کردن فیلدهای گوناگون، میتوانید یک %NUMBER در ادامه قرار دهید تا مشخص کنید چه تعداد نویسه باید چاپ شوند.
برای نمونه format=name%30 تعداد ۳۰ نویسه از فیلد name را بهصورت راستچین چاپ میکند. یک %-30 تعداد ۳۰ نویسه را چپچین چاپ خواهد کرد.
در صورت تنظیم، متغیر محیطی SACCT_FORMAT قالب پیشفرض را بازنویسی میکند. برای نمونه:
SACCT_FORMAT="jobid,user,account,cluster"
- -g, --gid=, --group=<gid_or_group_list>
- آمار را تنها برای کارهایی نمایش میدهد که با GID یا GROUP مشخصشده توسط عملوند gid_list یا group_list (که فهرستی جداشده با کاما است) آغاز شدهاند. نویسههای فاصله مجاز نیستند. پیشفرض بدون محدودیت است.
- -h, --help
- یک پیام راهنمای کلی را نمایش میدهد.
- -e, --helpformat
- فهرستی از فیلدهایی را چاپ میکند که میتوان با گزینه --format تعیین کرد.
فیلدهای در دسترس: Account AdminComment AllocCPUS AllocNodes AllocTRES AssocID AveCPU AveCPUFreq AveDiskRead AveDiskWrite AvePages AveRSS AveVMSize BlockID Cluster Comment Constraints ConsumedEnergy ConsumedEnergyRaw Container CPUTime CPUTimeRAW DBIndex DerivedExitCode Elapsed ElapsedRaw Eligible End Exclusive ExitCode Extra FailedNode Flags GID Group JobID JobIDRaw JobName Layout Licenses MaxDiskRead MaxDiskReadNode MaxDiskReadTask MaxDiskWrite MaxDiskWriteNode MaxDiskWriteTask MaxPages MaxPagesNode MaxPagesTask MaxRSS MaxRSSNode MaxRSSTask MaxVMSize MaxVMSizeNode MaxVMSizeTask McsLabel MinCPU MinCPUNode MinCPUTask NCPUS NNodes NodeList NTasks OriginalSLUID OverSubscribe Partition Planned PlannedCPU PlannedCPURAW Priority QOS QOSRAW QOSREQ Reason ReqCPUFreq ReqCPUFreqGov ReqCPUFreqMax ReqCPUFreqMin ReqCPUS ReqMem ReqNodes ReqReservation ReqTRES Reservation ReservationId Restarts SegmentSize SLUID Start State StdErr StdIn StdOut Submit SubmitLine Suspended SystemComment SystemCPU Timelimit TimelimitRaw TotalCPU TRESUsageInAve TRESUsageInMax TRESUsageInMaxNode TRESUsageInMaxTask TRESUsageInMin TRESUsageInMinNode TRESUsageInMinTask TRESUsageInTot TRESUsageOutAve TRESUsageOutMax TRESUsageOutMaxNode TRESUsageOutMaxTask TRESUsageOutMin TRESUsageOutMinNode TRESUsageOutMinTask TRESUsageOutTot UID User UserCPU WCKey WCKeyID WorkDir
نکته: هنگام استفاده همراه با Ave[RSS|VM]Size یا مقادیر آنها در TRESUsageIn[Ave|Tot]. آنها میانگین/مجموع بالاترین حد آستانه (high watermark) را در تمام رنکهای گام کار نشان میدهند. هنگام استفاده از sstat آنها میانگین/مجموع را در لحظه اجرای دستور نشان میدهند.
نکته: مقادیر TRESUsage*Min* نشاندهنده پایینترین حد آستانه در گام کار هستند.
نکته: در دسترس بودن معیارها به افزونهٔ jobacct_gather مورد استفاده بستگی دارد. برای نمونه jobacct_gather/cgroup در ترکیب با cgroup/v2 به دلیل محدودیتهای رابطهای cgroups در هسته (کرنل)، معیارهای حافظه مجازی را ارائه نمیدهد و برای فیلدهای مربوطه مقدار 0 را نمایش خواهد داد.
بخش با عنوان "Job Accounting Fields" این فیلدها را توصیف میکند.
- -j, --jobs=<job[.step]>
- اطلاعات
مربوط به
job[.step]
مشخصشده
یا فهرستی
از job[.step]ها را
نمایش
میدهد.
پارامتر job[.step] یک فهرست جداشده با کاما از کارها است. نویسههای فاصله در این فهرست مجاز نیستند.
نکته: یک شناسه گام با مقدار 'batch' اطلاعات مربوط به گام دستهای (batch step) را نمایش میدهد.
بهطور پیشفرض sacct تنها کارهای دارای زمان واجد شرایط بودن (Eligible time) را نشان میدهد، اما با این گزینه کارهای غیر واجد شرایط (non-eligible) نیز نشان داده خواهند شد.
نکته: اگر --state نیز مشخص شده باشد، از آنجا که کارهای غیر واجد شرایط در وضعیت PD نیستند، کارهای غیر واجد شرایط نمایش داده نخواهند شد. برای جزئیات درباره نحوه تغییر مقادیر پیشفرض برای --starttime و --endtime توسط این گزینه، بخش DEFAULT TIME WINDOW (در زیر) را ببینید.
- --json, --json=list, --json=<data_parser>
- تخلیه اطلاعات کار بهصورت JSON با استفاده از افزونه پیشفرض data_parser یا data_parser صریح همراه با پارامترها. آرگومانهای مرتبسازی و قالببندی نادیده گرفته خواهند شد.
- --local
- تنها کارهای محلی این کلاستر را نمایش میدهد. سایر کلاسترهای این فدراسیون (در صورت وجود) را نادیده میگیرد. بر --federation تقدم دارد.
- -l, --long
- معادل
تعیین
موارد زیر
است:
--format=jobid,jobidraw,jobname,partition,maxvmsize,maxvmsizenode, maxvmsizetask,avevmsize,maxrss,maxrssnode,maxrsstask,averss,maxpages, maxpagesnode,maxpagestask,avepages,mincpu,mincpunode,mincputask,avecpu,ntasks, alloccpus,elapsed,state,exitcode,avecpufreq,reqcpufreqmin,reqcpufreqmax, reqcpufreqgov,reqmem,consumedenergy,maxdiskread,maxdiskreadnode,maxdiskreadtask, avediskread,maxdiskwrite,maxdiskwritenode,maxdiskwritetask,avediskwrite, reqtres,alloctres,tresusageinave,tresusageinmax, tresusageinmaxn,tresusageinmaxt,tresusageinmin,tresusageinminn,tresusageinmint, tresusageintot,tresusageoutmax,tresusageoutmaxn, tresusageoutmaxt,tresusageoutave,tresusageouttot
- --name=<jobname_list>
- کارهایی را نمایش میدهد که هر یک از این نام(ها) را داشته باشند.
- -i, --nnodes=<min[-max]>
- کارهایی را بازمیگرداند که روی تعداد مشخصشدهای از گرهها اجرا شدهاند.
- -I, --ncpus=<min[-max]>
- کارهایی را بازمیگرداند که روی تعداد مشخصشدهای از cpuها اجرا شدهاند.
- --noconvert
- واحدها را از نوع اصلیشان تبدیل نمیکند (برای نمونه 2048M به 2G تبدیل نخواهد شد).
- -N, --nodelist=<node_list>
- نمایش کارهایی که روی هر یک از این گره(ها) اجرا شدهاند. node_list میتواند یک رشته بازهای باشد.
نکته: این گزینه هنگامی که گرههایی در زمان اجرای کارها به Slurm افزوده یا از آن حذف شوند، قابل اطمینان نیست. تنها کارهایی که در بازه زمانی مشخصشده (-S، -E) آغاز شده باشند، بازگردانده خواهند شد.
- -n, --noheader
- هیچ سرآیندی به خروجی افزوده نخواهد شد. عمل پیشفرض، نمایش سرآیند است.
- -p, --parsable
- خروجی با '|' تفکیک خواهد شد و در انتها نیز یک '|' خواهد داشت. همچنین گزینه --delimiter را ببینید.
- -P, --parsable2
- خروجی با '|' تفکیک خواهد شد بدون اینکه در انتهای آن '|' وجود داشته باشد. همچنین گزینه --delimiter را ببینید.
- -r, --partition
- فهرستی جداشده با کاما از پارتیشنها برای انتخاب کارها و گامهای کار از آنها. پیشفرض، همه پارتیشنها است.
- -q, --qos
- تنها ارسال دادههای مربوط به کارهایی که از این qos استفاده میکنند. پیشفرض، همه است.
- -R, --reason=<reason_list>
- فهرستی جداشده با کاما برای پالایش کارها بر اساس دلیلی که کار به غیر از منابع/اولویت (resources/priority) زمانبندی نشده است.
- -S, --starttime
- انتخاب کارها در هر وضعیتی پس از زمان مشخصشده. پیشفرض 00:00:00 روز جاری است، مگر اینکه از گزینههای '-s' یا '-j' استفاده شود. اگر گزینه '-s' استفاده شود، پیشفرض 'now' خواهد بود. اگر وضعیتها همراه با گزینه '-s' داده شوند، تنها کارهایی که در این زمان در این وضعیت بودهاند بازگردانده میشوند. اگر از گزینه '-j' استفاده شود، زمان پیشفرض مبدا یونیکس (Unix Epoch 0) است. برای جزئیات مربوط به نحوه تعیین مقادیر پیشفرض --starttime و --endtime، بخش DEFAULT TIME WINDOW (در زیر) را ببینید.
قالبهای
زمانی
معتبر
عبارتند از:
HH:MM[:SS][AM|PM]
MMDD[YY][-HH:MM[:SS]]
MM.DD[.YY][-HH:MM[:SS]]
MM/DD[/YY][-HH:MM[:SS]]
YYYY-MM-DD[THH:MM[:SS]]
today, midnight, noon, elevenses (11 AM), fika (3 PM), teatime (4 PM)
now[{+|-}count[seconds(default)|minutes|hours|days|weeks]]
- -s, --state=<state_list>
- کارها را بر اساس وضعیت آنها در طول بازه زمانی دادهشده انتخاب میکند. مگر اینکه بهگونه دیگری مشخص شده باشد، در صورت مشخص شدن گزینه --state، زمان آغاز و پایان همان زمان جاری خواهد بود و تنها کارهای در حال اجرای فعلی میتوانند نمایش داده شوند. برای مشاهده اطلاعات کارهایی که در حال حاضر در حال اجرا نیستند، باید زمان شروع یا پایان مشخص شود. برای مشاهده فهرستی از شناسههای وضعیت، بخش JOB STATE CODES را در زیر ببینید. نامهای چندگانه وضعیت را میتوان با استفاده از جداکننده کاما مشخص کرد. شکل کوتاه یا بلند نام وضعیت قابل استفاده است (مانند CA یا CANCELLED) و نامها به حروف بزرگ و کوچک حساس نیستند (یعنی ca و CA هر دو کار میکنند).
نکته: توجه داشته باشید برای اینکه یک کار در وضعیت PENDING انتخاب شود، مقدار "EligibleTime" آن باید در بازه زمانی درخواستی قرار داشته باشد یا با "Unknown" متفاوت باشد. مقدار "EligibleTime" با دستور "scontrol show job" نمایش داده میشود. برای نمونه کارهایی که با گزینه "--hold" ارسال شدهاند، "EligibleTime=Unknown" خواهند داشت زیرا به مدت نامحدود در حالت معلق هستند.
نکته: هنگام تعیین وضعیتها و در صورتی که زمان شروعی داده نشود، زمان شروع پیشفرض 'now' خواهد بود. این فقط زمانی است که از -j استفاده نشود. اگر از -j استفاده شود، زمان شروع بهطور پیشفرض 'Epoch' خواهد بود. در هر دو حالت، اگر زمان پایانی داده نشود، پیشفرض 'now' خواهد بود. برای جزئیات درباره نحوه تغییر مقادیر پیشفرض --starttime و --endtime توسط این گزینه، بخش DEFAULT TIME WINDOW (در زیر) را ببینید.
- -K, --timelimit-max
- بهتنهایی نادیده گرفته میشود، اما اگر timelimit_min تنظیم شده باشد، این مقدار حداکثر حد زمانی (timelimit) بازه خواهد بود. پیشفرض، بدون محدودیت است.
- -k, --timelimit-min
- تنها ارسال دادههای مربوط به کارهایی با این حد زمانی. در صورت استفاده با timelimit_max، این مقدار حداقل حد زمانی بازه خواهد بود. پیشفرض، بدون محدودیت است.
- -T, --truncate
- کوتاه کردن (برش) زمان. به این ترتیب، اگر کاری پیش از --starttime آغاز شده باشد، زمان شروع به --starttime برش میخورد. همین قاعده برای زمان پایان و --endtime نیز اعمال میشود.
- -u, --uid=, --user=<uid_or_user_list>
- استفاده از این فهرست جداشده با کاما از UIDها یا نامهای کاربری برای انتخاب کارهای نمایشی. بهطور پیشفرض، UID کاربر در حال اجرا استفاده میشود.
- --units=[KMGTP]
- نمایش مقادیر در نوع واحد مشخصشده. اولویت بالاتری نسبت به گزینه --noconvert دارد.
- --usage
- نمایش خلاصهای از نحوه استفاده از دستور.
- --use-local-uid
- هنگام نمایش UID، دستور sacct بهطور پیشفرض از UID ذخیرهشده در پایگاهداده حسابداری Slurm استفاده میکند. از این گزینه برای ملزم کردن Slurm به استفاده از فراخوان سیستمی جهت دریافت UID از نام کاربری استفاده کنید. این گزینه ممکن است در محیطی با چند کلاستر و یک پایگاهداده منفرد که در آن UIDها روی تمام کلاسترها یکسان نیستند مفید باشد.
- -v, --verbose
- عمدتاً برای اهداف اشکالزدایی؛ گزارش وضعیت متغیرهای مختلف در حین پردازش.
- -V, --version
- چاپ نسخه.
- -W, --wckeys=<wckey_list>
- نمایش آمارها تنها برای کارهایی که روی wckeyهای مشخصشده توسط عملوند wckey_list آغاز شدهاند؛ این عملوند یک فهرست جداشده با کاما از نامهای wckey است. نویسههای فاصله در wckey_list مجاز نیستند. پیشفرض، همه wckeyها است.
- --whole-hetjob[=yes|no]
- هنگام پرسوجو و پالایش کارهای ناهمگن با --jobs، اگر het_job_id (شناسه رهبر) انتخاب شده باشد، Slurm بهطور پیشفرض اطلاعات تمام مؤلفههای کار را بازیابی میکند. اگر شناسه مؤلفه یک کار ناهمگن غیررهبر انتخاب شود، بهطور پیشفرض تنها همان مؤلفه بازیابی خواهد شد. این رفتار را میتوان با استفاده از این گزینه تغییر داد. اگر روی 'yes' (یا بدون آرگومان) تنظیم شود، اطلاعات تمام مؤلفهها صرفنظر از اینکه کدام مؤلفه در فیلتر کار انتخاب شده باشد بازیابی میشود. اگر روی 'no' تنظیم شود، تنها مؤلفه(های) انتخابشده کار ناهمگن بازیابی خواهد شد، حتی زمانی که رهبر انتخاب شده باشد.
- --yaml, --yaml=list, --yaml=<data_parser>
- برونریزی اطلاعات کار بهصورت YAML با استفاده از افزونه پیشفرض data_parser یا یک data_parser مشخص همراه با پارامترها. آرگومانهای مرتبسازی و قالببندی نادیده گرفته خواهند شد.
فیلدهای حسابداری کار (Job Accounting Fields)
توضیحات هر گزینه فیلد را میتوانید در زیر بیابید. توجه داشته باشید که فیلدهای حسابداری Ave*، Max* و Min* مقادیر را برای تمامی تسکهای هر گام در یک کار بررسی کرده و مقادیر میانگین، حداکثر یا حداقل تسک را برای آن گام کار بازمیگردانند. برای نمونه، در مورد MaxRSS، مقدار بازگرداندهشده حداکثر مصرف حافظه مشاهدهشده توسط یکی از تسکهای آن گام است، و MaxRSSTask نشان میدهد که مربوط به کدام تسک است.
- ALL
- چاپ تمام فیلدهای فهرستشده در زیر.
- Account
- حسابی که کار تحت آن اجرا شده است.
- AdminComment
- یک رشته توضیح درباره کار که باید توسط مدیر سیستم، SlurmUser یا root تنظیم شود.
- AllocCPUs
- تعداد پردازندههای تخصیصیافته. معادل NCPUS.
- AllocNodes
- تعداد گرههای تخصیصیافته به کار/گام کار. اگر کار در حال انتظار باشد، مقدار آن 0 است.
- AllocTres
- منابع قابل
ردیابی.
اینها
منابع
تخصیصیافته
به کار/گام
کار پس از
شروع اجرای
کار هستند.
برای
کارهای در
حال
انتظار،
این مقدار
باید خالی
باشد. برای
جزئیات
بیشتر AccountingStorageTRES
را در slurm.conf
ببینید.
نکته: هنگامی که یک منبع عمومی با پرچم no_consume پیکربندی شده باشد، تخصیص با صفر چاپ خواهد شد.
- AssocID
- ارجاع به انتساب کاربر، حساب و خوشه.
- AveCPU
- میانگین زمان پردازنده (سیستم + کاربر) تمام وظایف در کار.
- AveCPUFreq
- میانگین موزون فرکانس پردازنده تمام وظایف در کار، به کیلوهرتز (kHz).
- AveDiskRead
- میانگین تعداد بایتهای خواندهشده توسط تمام وظایف در کار.
- AveDiskWrite
- میانگین تعداد بایتهای نوشتهشده توسط تمام وظایف در کار.
- AvePages
- میانگین تعداد خطاهای صفحه تمام وظایف در کار.
- AveRSS
- میانگین اندازه مقیم در حافظه تمام وظایف در کار.
- AveVMSize
- میانگین اندازه حافظه مجازی تمام وظایف در کار.
- BlockID
- نام بلوک مورد استفاده (مورد استفاده در سامانههای Blue Gene).
- Cluster
- نام خوشه.
- Comment
- رشته توضیح کار، زمانی که پارامتر AccountingStoreFlags در فایل slurm.conf حاوی 'job_comment' باشد. رشته Comment را میتوان با فراخوانی sacctmgr modify job یا دستور اختصاصی sjobexitmod تغییر داد.
- Constraints
- ویژگیهایی که کار به عنوان قید درخواست کرده است.
- ConsumedEnergy
- انرژی کل مصرفشده توسط تمام وظایف در یک کار، به ژول. مقدار ممکن است شامل پیشوند یکا (K,M,G,T,P) باشد. نکته: تنها در حالت تخصیص انحصاری کار، این مقدار بازتابدهنده مصرف انرژی واقعی کار است.
- ConsumedEnergyRaw
- انرژی کل مصرفشده توسط تمام وظایف در یک کار، به ژول. نکته: تنها در حالت تخصیص انحصاری کار، این مقدار بازتابدهنده مصرف انرژی واقعی کار است.
- Container
- مسیر به OCI Container Bundle درخواستشده.
- CPUTime
- زمان مصرفشده (زمان سپریشده * تعداد پردازنده) توسط کار یا گام کار در قالب HH:MM:SS.
- CPUTimeRAW
- زمان مصرفشده (زمان سپریشده * تعداد پردازنده) توسط کار یا گام کار بر حسب ثانیه-پردازنده.
- DBIndex
- شاخص یکتای پایگاه داده برای ورودیها در جدول کارها.
- DerivedExitCode
- بالاترین کد خروج بازگرداندهشده توسط گامهای کار (فراخوانیهای srun). پس از دونقطه، سیگنالی درج میشود که در صورت پایان یافتن فرآیند با یک سیگنال، باعث خاتمه آن شده است. DerivedExitCode را میتوان با فراخوانی sacctmgr modify job یا دستور اختصاصی sjobexitmod تغییر داد.
- Elapsed
- زمان
سپریشده
کار.
قالب خروجی این فیلد به صورت زیر است:
[DD-[HH:]]MM:SS
- همانطور که در زیر تعریف شده است:
- ElapsedRaw
- زمان سپریشده کار بر حسب ثانیه.
- Eligible
- زمانی که کار واجد شرایط اجرا شد. در همان قالب End.
- End
- زمان پایان کار. خروجی در قالب YYYY-MM-DDTHH:MM:SS است، مگر اینکه از طریق متغیر محیطی SLURM_TIME_FORMAT تغییر یافته باشد.
- Exclusive
- مشخص میکند که آیا کار دسترسی انحصاری به منابع تخصیصیافته به خود دارد یا خیر.
- NO
- کار نیازی به دسترسی انحصاری به منابع تخصیصیافته به خود ندارد.
- NODE
- به کار تمام CPUها و GRES روی تمام گرههای موجود در تخصیص داده میشود و نمیتواند گرهها را با کارهای دیگر به اشتراک بگذارد. این با گزینه --exclusive مطابقت دارد.
- USER
- کار نمیتواند گرهها را با کارهای دیگر به اشتراک بگذارد مگر اینکه از همان کاربر باشند. این با گزینه --exclusive=user مطابقت دارد.
- MCS
- کار نمیتواند گرهها را با کارهای دیگر به اشتراک بگذارد مگر اینکه از برچسب MCS یکسانی استفاده کنند. این با گزینه --exclusive=mcs مطابقت دارد.
- TOPO
- کار نمیتواند یک بخش توپولوژی را با کارهای دیگر به اشتراک بگذارد. این با گزینه --exclusive=topo مطابقت دارد.
-
نکته: پارامترهای Partition و Global میتوانند با وجود درخواستهای متفاوت کار، این مقدار را تنظیم کنند.
- ExitCode
- کد خروجی بازگرداندهشده توسط اسکریپت کار یا salloc، معمولاً طبق آنچه تابع exit() تنظیم کرده است. پس از دونقطه، سیگنالی قرار میگیرد که در صورت خاتمه فرایند توسط یک سیگنال، باعث خاتمه آن شده است.
- Extra
- رشته اضافی کار هنگامی که پارامتر AccountingStoreFlags در فایل slurm.conf شامل 'job_extra' باشد. رشته Extra میتواند با اجرای دستور sacctmgr modify job تغییر داده شود.
- FailedNode
- نام گرهای که خرابی آن باعث لغو اجباری (kill) کار شده است.
- Flags
- فلگهای کار. فلگهای فعلی عبارتند از SchedSubmit، SchedMain و SchedBackfill.
- GID
- شناسه گروه کاربری که کار را اجرا کرده است.
- Group
- نام گروه کاربری که کار را اجرا کرده است.
- JobID
- شماره شناسایی کار یا گام کار.
-
کارهای عادی به این صورت هستند:
-
JobID[.JobStep]
کارهای آرایهای به این صورت هستند:
-
ArrayJobID_ArrayTaskID
کارهای ناهمگن به این صورت هستند:
-
HetJobID+HetJobOffset
هنگام چاپ آرایههای کار، در سیستمهایی با تعداد کار زیاد، اگر یک شناسه کارِ منفرد مشخص شود عملکرد دستور میتواند به طرز محسوسی بهبود یابد. بهطور پیشفرض، اندازه این فیلد به ۶۴ بایت محدود خواهد شد. از متغیر محیطی SLURM_BITSTR_LEN برای تعیین اندازههای بزرگتر فیلد استفاده کنید.
- JobIDRaw
- شماره شناسایی کار یا گام کار. فیلد JobID را به شکل JobID[.JobStep] برای کارهای عادی، ناهمگن و آرایهای چاپ میکند.
- JobName
- نام کار یا گام کار. فایل slurm_accounting.log یک فایل با جداکننده فاصله است. به همین دلیل اگر فاصلهای در jobname استفاده شود، قبل از نوشته شدن رکورد در فایل حسابداری، یک خط زیرین (_) جایگزین فاصله میشود. بنابراین هنگامی که نام کار توسط sacct نمایش داده میشود، نام کاری که دارای فاصله بوده است اکنون خط زیرین به جای فاصله خواهد داشت.
- Layout
- چیدمان یک گام در هنگام اجرا. این میتواند برای آگاهی از اینکه کدام گره کدام رتبه (rank) را در کار شما اجرا کرده است استفاده شود.
- MaxDiskRead
- حداکثر تعداد بایتهای خواندهشده توسط تمام تسکهای کار.
- MaxDiskReadNode
- گرهای که maxdiskread روی آن رخ داده است.
- MaxDiskReadTask
- شناسه تسکی که maxdiskread در آن رخ داده است.
- MaxDiskWrite
- حداکثر تعداد بایتهای نوشتهشده توسط تمام تسکهای کار.
- MaxDiskWriteNode
- گرهای که maxdiskwrite روی آن رخ داده است.
- MaxDiskWriteTask
- شناسه تسکی که maxdiskwrite در آن رخ داده است.
- MaxPages
- حداکثر تعداد خطاهای صفحه (page faults) در تمام تسکهای کار.
- MaxPagesNode
- گرهای که maxpages روی آن رخ داده است.
- MaxPagesTask
- شناسه تسکی که maxpages در آن رخ داده است.
- MaxRSS
- حداکثر اندازه مجموعه مقیم (resident set size) در تمام تسکهای کار.
- MaxRSSNode
- گرهای که maxrss روی آن رخ داده است.
- MaxRSSTask
- شناسه تسکی که maxrss در آن رخ داده است.
- MaxVMSize
- حداکثر اندازه حافظه مجازی تمام تسکها در کار.
- MaxVMSizeNode
- گرهای که حداکثر اندازه حافظه مجازی (maxvmsize) روی آن رخ داده است.
- MaxVMSizeTask
- شناسه تسکی که حداکثر اندازه حافظه مجازی (maxvmsize) در آن رخ داده است.
- MCSLabel
- برچسب امنیت چنددستهای (MCS) مرتبط با کار. هنگامی که MCSPlugin در slurm.conf فعال باشد، به کار اضافه میشود.
- MinCPU
- حداقل زمان پردازنده (سیستمی + کاربر) تمام تسکها در کار.
- MinCPUNode
- گرهای که حداقل زمان پردازنده (mincpu) روی آن رخ داده است.
- MinCPUTask
- شناسه تسکی که حداقل زمان پردازنده (mincpu) در آن رخ داده است.
- NCPUS
- تعداد کل پردازندههای اختصاصیافته به کار. معادل AllocCPUS.
- NNodes
- تعداد گرهها در یک کار یا گام کار. اگر کار در حال اجرا باشد یا اجرا شده باشد، این شمارش برابر با تعداد اختصاصیافته خواهد بود، در غیر این صورت برابر با تعداد درخواستی خواهد بود.
- NodeList
- فهرست گرهها در کار/گام کار.
- NTasks
- تعداد کل تسکها در یک کار یا گام کار.
- OriginalSLUID
- شناسه SLUID تخصیصیافته در زمان ارسال اولیه کار. در تمام طول عمر کار ثابت باقی میماند حتی اگر اندازه کار تغییر کرده باشد. در صورت ورود مجدد کار به صف یا شروع مجدد آن، تغییر میکند. میتوان از آن برای مرتبط ساختن اجراهای کارهایی که تغییر اندازه داشتهاند استفاده کرد. این همان SLUID مورد استفاده ابزارهای دستوری در طول مدت اجرای کار است.
- OverSubscribe
- مشخص میکند که آیا کار میتواند منابع را با سایر کارها به اشتراک بگذارد (oversubscribe) یا خیر.
- NO
- کار نمیتواند منابع را با سایر کارها به اشتراک بگذارد.
- YES
- کاربر درخواست کرده است که کار بتواند منابع را با سایر کارها به اشتراک بگذارد. این معادل گزینه --oversubscribe است.
- OK
- پارتیشن اجازه اشتراکگذاری منابع با سایر کارها را میدهد.
-
نکته: پارامترهای پارتیشن و سراسری میتوانند با وجود درخواستهای متفاوت کار، این مقدار را تنظیم کنند.
- Partition
- پارتیشنی که کار روی آن اجرا شده است را مشخص میکند.
- Planned
- میزان زمان واقعی (wall clock) استفادهشده به عنوان زمان برنامهریزیشده برای این کار. این مقدار بر اساس مدت زمانی که کار از زمان واجد شرایط شدن تا شروع یا لغو شدن منتظر مانده، محاسبه میشود. قالب آن مشابه Elapsed است.
- PlannedCPU
- تعداد ثانیههای پردازنده استفادهشده به عنوان زمان برنامهریزیشده برای این کار. قالب آن مشابه Elapsed است.
- PlannedCPURAW
- تعداد ثانیههای پردازنده استفادهشده به عنوان زمان برنامهریزیشده برای این کار. قالب بر حسب ثانیههای پردازنده است.
- Priority
- اولویت در Slurm.
- QOS
- نام کیفیت سرویس (Quality of Service).
- QOSRAW
- شناسه عددی کیفیت سرویس (Quality of Service).
- QOSREQ
- فهرست کیفیتهای سرویس (Quality of Services) درخواستی توسط کار.
- Reason
- آخرین دلیلی که مانع از اجرای کار به دلایلی غیر از Priority یا Resources شده است. این مقدار در پایگاهداده ذخیره خواهد شد حتی اگر کار تا پایان اجرا شده باشد.
- ReqCPUFreq
- فرکانس پردازنده درخواستی برای گام کار، بر حسب kHz. نکته: این مقدار فقط برای گام کار اعمال میشود. هیچ مقداری برای کار گزارش نمیشود.
- ReqCPUFreqGov
- گاورنر فرکانس پردازنده درخواستی برای گام کار، بر حسب kHz. نکته: این مقدار فقط برای گام کار اعمال میشود. هیچ مقداری برای کار گزارش نمیشود.
- ReqCPUFreqMax
- حداکثر فرکانس پردازنده درخواستی برای گام کار، بر حسب kHz. نکته: این مقدار فقط برای گام کار اعمال میشود. هیچ مقداری برای کار گزارش نمیشود.
- ReqCPUFreqMin
- حداقل فرکانس پردازنده درخواستی برای گام کار، بر حسب kHz. نکته: این مقدار فقط برای گام کار اعمال میشود. هیچ مقداری برای کار گزارش نمیشود.
- ReqCPUS
- تعداد پردازندههای درخواستی.
- ReqMem
- حداقل حافظه مورد نیاز برای کار. ممکن است حرفی به انتهای آن ضمیمه شده باشد که واحدهای آن را مشخص کند (M برای مگابایت، G برای گیگابایت و غیره). نکته: این مقدار فقط از تخصیص کار است، نه گام کار.
- ReqNodes
- حداقل تعداد گره درخواستی برای کار/گام کار.
- ReqTres
- منابع قابل ردیابی (TRES). اینها حداقل مقادیر منابع درخواستی توسط کار/گام کار در زمان ثبت هستند. برای جزئیات بیشتر به AccountingStorageTRES در slurm.conf مراجعه کنید.
- ReqReservation
- فهرستی از نامهای رزرو درخواستشده توسط کار، جداشده با کاما.
- Reservation
- نام رزرو.
- ReservationId
- شناسه رزرو.
- Restarts
- تعداد دفعاتی که این کار مجدداً در صف قرار گرفته/راهاندازی مجدد شده است.
- SegmentSize
- هنگامی که یک توپولوژی بلوکی استفاده میشود، این مقدار اندازه قطعههایی است که برای ایجاد تخصیص کار به کار میروند.
- SLUID
- یک شناسه یکتا برای یک اجرای مشخص از یک کار. برخلاف شناسه کار، مقدار SLUID با هر بار قرار گرفتن مجدد کار در صف، راهاندازی مجدد یا تغییر اندازه تغییر میکند و امکان تفکیک اجراهای گوناگون از همان کار را فراهم میسازد. اجراهای قبلی کار را میتوان با گزینه -D/--duplicates نمایش داد. مقادیر SLUID در سرتاسر سیستم حسابداری به صورت سراسری یکتا هستند.
- Start
- زمان آغاز کار. در همان قالب End.
- State
- وضعیت یا
حالت کار را
نمایش
میدهد.
برای
مشاهده
فهرستی از
وضعیتهای
ممکن، بخش JOB
STATE CODES را در زیر
ببینید.
اگر اطلاعات بیشتری درباره وضعیت کار وجود داشته باشد که در عرض فعلی فیلد نگنجد (برای نمونه، UID کاربری که کار را CANCELLED کرده است)، یک علامت "+" در ادامه وضعیت نمایش داده میشود. میتوانید اندازه وضعیت نمایشدادهشده را با استفاده از اصلاحکننده قالب "%NUMBER" که پیشتر شرح داده شد افزایش دهید.
NOTE: وضعیت RUNNING کارهای معلقشده را نیز برمیگرداند. برای چاپ کارهای معلقشده باید SUSPENDED را در فراخوانی جداگانهای از RUNNING درخواست کنید.
NOTE: وضعیت RUNNING هر کاری را که در بازه زمانی درخواستی تکمیل شده باشد (لغوشده یا غیر آن) برمیگرداند، چرا که کار در آن زمان نیز در وضعیت RUNNING قرار داشته است. اگر تنها به دنبال کارهایی هستید که پایان یافتهاند، لطفاً وضعیت(های) مناسب را بدون وضعیت RUNNING انتخاب کنید.
- StdErr
- نمایش "filename pattern" برای هدایت مجدد stderr مشخصشده در یک کار یا در گامهای کار. نویسههای عام مسیر جایگزین نخواهند شد و همانگونه که در ارسال اولیه batch تعریف شدهاند نمایش داده میشوند.
- StdIn
- نمایش "filename pattern" برای هدایت مجدد stdin مشخصشده در یک کار یا در گامهای کار. نویسههای عام مسیر جایگزین نخواهند شد و همانگونه که در ارسال اولیه batch تعریف شدهاند نمایش داده میشوند.
- StdOut
- نمایش "filename pattern" برای هدایت مجدد stdout مشخصشده در یک کار یا در گامهای کار. نویسههای عام مسیر جایگزین نخواهند شد و همانگونه که در ارسال اولیه batch تعریف شدهاند نمایش داده میشوند.
- Submit
- زمانی که
کار ارسال
شده است. در
همان قالب
End.
NOTE: اگر کار مجدداً در صف قرار گیرد، زمان ارسال بازنشانی میشود. برای به دست آوردن زمان ارسال اولیه، استفاده از گزینه -D/--duplicates برای نمایش تمام ورودیهای تکراری یک کار الزامی است.
- SubmitLine
- دستور کاملی که برای ارسال کار اجرا شده است.
- Suspended
- مدت زمانی که یک کار یا گام کار معلق بوده است. قالب آن همانند Elapsed است.
- SystemComment
- رشته توضیحات کار که معمولاً توسط یک افزونه تنظیم میشود. تنها توسط مدیر سیستم Slurm قابل تغییر است.
- SystemCPU
- میزان زمان
پردازنده
سیستم
مصرفشده
توسط کار یا
گام کار.
قالب آن
همانند Elapsed
است.
NOTE: برای دریافت اطلاعات درباره نحوه مدیریت کارهای لغوشده، یادداشت مربوط به TotalCPU را ببینید.
- Timelimit
- محدودیت زمانی برای کار یا گام کار. قالب آن همانند Elapsed است، اما دو مقدار ویژه دیگر نیز میتوانند نمایش داده شوند:
- Partition_limit
- نشان میدهد که برای کار محدودیت زمانی تعیین نشده و هنوز تحت تأثیر MaxTime افراز قرار نگرفته است (یعنی کار در حالت pending است). میتوانید DefaultTime را روی افراز تعریف کنید تا از نمایش این مقدار جلوگیری شود.
- UNLIMITED
- نشان میدهد که برای کار محدودیت زمانی تعریف نشده است.
- TimelimitRaw
- محدودیت زمانی برای کار یا گام کار. قالب به صورت تعداد دقایق است. NOTE: توضیحات TimeLimit را ببینید.
- TotalCPU
- مجموع
زمانهای SystemCPU
و UserCPU
استفادهشده
توسط کار یا
گام کار.
زمان کل
پردازنده
کار ممکن
است برای
کارهایی که
شامل چندین
گام کار
هستند از
زمان
سپریشده
کار فراتر
رود. قالب
آن همانند
Elapsed است.
NOTE: برای گامهایی که بر اثر سیگنال متوقف شدهاند (مانند scancel یا اتمام مهلت زمانی کار)، TotalCPU مقداری مربوط به فرایند والد تسک را ارائه میدهد و ممکن است زمان پردازنده فرایندهای فرزند را شامل نشود. این امر ناشی از ساختار درونی مصرف منابع در wait3 (getrusage) است. برای فرایندهایی که به طور معمول به پایان میرسند، منابع تمام فرایندهای نواده (forks و execs) لحاظ میشوند. با این حال، اگر فرایندها کشته شوند، ممکن است نتیجه میان افزونههای proctrack و برنامههای کاربر نهایی متفاوت باشد.
- TresUsageInAve
- میانگین مصرف ورودی Tres توسط تمام تسکها در کار. NOTE: اگر مقدار متناظر TresUsageInMaxTask برابر با -1 باشد، این معیار به جای تسک، گرهمحور است.
- TresUsageInMax
- بیشترین مصرف ورودی Tres توسط تمام تسکها در کار. NOTE: اگر مقدار متناظر TresUsageInMaxTask برابر با -1 باشد، این معیار به جای تسک، گرهمحور است.
- TresUsageInMaxNode
- گرهی که در آن بیشترین مصرف خروجی TRES رخ داده است.
- TresUsageInMaxTask
- تسکی که در آن بیشترین مصرف خروجی TRES رخ داده است.
- TresUsageInMin
- کمترین مصرف ورودی Tres توسط تمام تسکها در کار. NOTE: اگر مقدار متناظر TresUsageInMinTask برابر با -1 باشد، این معیار به جای تسک، گرهمحور است.
- TresUsageInMinNode
- گرهای که در آن کمترین مصرف خروجی TRES رخ داده است.
- TresUsageInMinTask
- تسکی که در آن کمترین مصرف خروجی TRES رخ داده است.
- TresUsageInTot
- مجموع کل مصرف ورودی Tres توسط تمام تسکها در کار.
- TresUsageOutAve
- میانگین مصرف خروجی Tres توسط تمام تسکها در کار. NOTE: اگر مقدار متناظر TresUsageOutMaxTask برابر با -1 باشد، این معیار به جای تسک، گرهمحور است.
- TresUsageOutMax
- بیشترین مصرف خروجی Tres توسط تمام تسکها در کار. NOTE: اگر مقدار متناظر TresUsageOutMaxTask برابر با -1 باشد، این معیار به جای تسک، گرهمحور است.
- TresUsageOutMaxNode
- گرهای که در آن بیشترین مصرف خروجی TRES رخ داده است.
- TresUsageOutMaxTask
- تسکی که در آن بیشترین مصرف خروجی TRES رخ داده است.
- TresUsageOutMin
- کمترین مصرف خروجی Tres توسط تمام تسکها در کار.
- TresUsageOutMinNode
- گرهای که در آن کمترین مصرف خروجی TRES رخ داده است.
- TresUsageOutMinTask
- تسکی که در آن کمترین مصرف خروجی TRES رخ داده است.
- TresUsageOutTot
- مجموع کل مصرف خروجی Tres توسط تمام تسکها در کار.
- UID
- شناسه کاربری (UID) کاربری که کار را اجرا کرده است.
- User
- نام کاربری کاربری که کار را اجرا کرده است.
- UserCPU
- میزان زمان
پردازنده (CPU)
کاربری
مصرفشده
توسط کار یا
گام کار.
قالب آن
مشابه Elapsed
است.
NOTE: برای دریافت اطلاعات درباره نحوه مدیریت کارهای لغوشده، یادداشت مربوط به TotalCPU را ببینید.
- WCKey
- کلید توصیف بار کاری (Workload Characterization Key). رشتهای دلخواه برای گروهبندی حسابهای متعامد با یکدیگر.
- WCKeyID
- ارجاع به wckey.
- WorkDir
- دایرکتوری استفادهشده توسط کار برای اجرای دستورات.
کدهای وضعیت کار (JOB STATE CODES)
وضعیتهای زیر توسط sacct شناسایی میشوند. فهرست کاملی از وضعیتهای ممکن در نشانی https://slurm.schedmd.com/job_state_codes.html در دسترس است.
- BF BOOT_FAIL
- کار به دلیل شکست در راهاندازی پایان یافت، معمولاً ناشی از یک خرابی سختافزاری (مانند عدم توانایی در بوت کردن گره یا بلوک، و کار نمیتواند مجدداً در صف قرار گیرد).
- CA CANCELLED
- کار صراحتاً توسط کاربر یا مدیر سیستم لغو شد. کار ممکن است آغاز شده باشد یا نشده باشد.
- CD COMPLETED
- کار تمام فرایندها را در تمام گرهها با کد خروج صفر به پایان رسانده است.
- DL DEADLINE
- کار با رسیدن به موعد مقرر (deadline) پایان یافت.
- F FAILED
- کار با کد خروج غیرصفر یا شرایط خرابی دیگر پایان یافت.
- NF NODE_FAIL
- کار به دلیل خرابی یک یا چند گره اختصاصیافته پایان یافت.
- OOM OUT_OF_MEMORY
- کار با خطای اتمام حافظه (Out Of Memory) مواجه شد.
- PD PENDING
- کار در انتظار تخصیص منابع است.
- PR PREEMPTED
- کار به دلیل تصاحب (Preemption) پایان یافت.
- R RUNNING
- کار در حال حاضر دارای تخصیص منابع است.
- RQ REQUEUED
- کار مجدداً در صف قرار گرفت.
- RS RESIZING
- کار در حال تغییر اندازه است.
- RV REVOKED
- کار همزاد (Sibling) به دلیل شروع اجرای کار توسط کلاستر دیگر، از کلاستر حذف شد.
- S SUSPENDED
- کار دارای تخصیص منابع است، اما اجرای آن به حالت تعلیق درآمده و پردازندهها برای کارهای دیگر آزاد شدهاند.
- TO TIMEOUT
- کار پس از رسیدن به محدودیت زمانی خود پایان یافت.
بازه زمانی پیشفرض (DEFAULT TIME WINDOW)
گزینههای --starttime و --endtime بازه زمانی را تعریف میکنند که sacct در آن به جستجو میپردازد. به دلایل تاریخی و کاربردی، مقادیر پیشفرض آنها (یعنی بازه زمانی پیشفرض) به گزینههای دیگر بستگی دارد: --jobs و --state.
بسته به اینکه --jobs و/یا --state مشخص شده باشند، مقادیر پیشفرض گزینههای --starttime و --endtime عبارتند از:
بدون مشخص
کردن
هیچیک از
--jobs یا --state:
مقدار
پیشفرض --starttime
نیمهشب (Midnight)
است.
مقدار
پیشفرض --endtime
زمان جاری (Now)
است.
همراه با
--jobs و بدون
مشخص کردن
--state:
مقدار
پیشفرض --starttime
برابر با Epoch 0
است.
مقدار
پیشفرض --endtime
زمان جاری (Now)
است.
بدون --jobs و
همراه با
مشخص کردن
--state:
مقدار
پیشفرض --starttime
زمان جاری (Now)
است.
مقدار
پیشفرض --endtime
برابر با --starttime
و در صورت
مشخص نشدن
--starttime برابر با
زمان جاری (Now)
است.
همراه با
مشخص کردن
هر دو گزینه
--jobs و --state:
مقدار
پیشفرض --starttime
برابر با Epoch 0
است.
مقدار
پیشفرض --endtime
برابر با --starttime
یا در صورت
مشخص نشدن
--starttime برابر با
زمان جاری (Now)
است.
NOTE: با گزینه -v/--verbose پیامی درباره بازه زمانی واقعیِ در حال استفاده نمایش داده میشود.
کارایی (PERFORMANCE)
اجرای sacct یک فراخوانی رویه از راه دور به slurmdbd ارسال میکند. اگر تعداد کافی فراخوانی از سوی sacct یا سایر دستورات کلاینت Slurm که فراخوانی رویه از راه دور به دیمن slurmdbd ارسال میکنند به طور همزمان دریافت شود، میتواند منجر به افت کارایی دیمن slurmdbd شده و احتمالاً به منع سرویس بیانجامد.
دستور sacct یا سایر دستورات کلاینت Slurm که فراخوانیهای رویه از راه دور به slurmdbd ارسال میکنند را از درون حلقهها در اسکریپتهای پوسته یا برنامههای دیگر اجرا نکنید. اطمینان حاصل کنید که برنامهها، فراخوانیهای sacct را به حداقل میزان لازم برای اطلاعاتی که قصد جمعآوری آن را دارید محدود کنند.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
برخی از گزینههای sacct میتوانند از طریق متغیرهای محیطی تنظیم شوند. این متغیرهای محیطی، به همراه گزینههای متناظرشان، در زیر فهرست شدهاند. (توجه: گزینههای خط فرمان همیشه این تنظیمات را بازنویسی میکنند.)
- SACCT_FEDERATION
- مشابه --federation
- SACCT_FORMAT
- امکان تعیین ستونها جهت نمایش در خروجی را فراهم میسازد. مشابه --format
- SACCT_LOCAL
- مشابه --local
- SLURM_BITSTR_LEN
- طول رشته مورد استفاده برای نگهداری عبارت شناسه تسک آرایه کار را مشخص میکند. مقدار پیشفرض ۶۴ بایت است. مقدار ۰ عبارت کامل را با هر طولی که لازم باشد چاپ میکند. مقادیر بزرگتر ممکن است تأثیر منفی بر کارایی برنامه بگذارند.
- SLURM_CONF
- محل فایل پیکربندی Slurm.
- SLURM_DEBUG_FLAGS
- فلگهای اشکالزدایی مورد استفاده sacct را مشخص میکند. برای فهرست کامل فلگها، مدخل DebugFlags را در صفحه راهنمای slurm.conf(5) ببینید. این متغیر محیطی بر تنظیمات موجود در slurm.conf اولویت دارد.
- SLURM_JSON
- کنترل سریالسازی JSON:
- compact
- خروجی دادن JSON به فشردهترین شکل ممکن.
- pretty
- خروجی دادن JSON در قالبی خوانا (pretty) برای افزایش خوانایی آن.
- SLURM_TIME_FORMAT
- قالب مورد
استفاده
برای گزارش
برچسبهای
زمانی را
مشخص
میکند.
مقدار standard،
که مقدار
پیشفرض
است، خروجی
را به صورت
"year-month-dateThour:minute:second"
تولید
میکند.
مقدار relative
برای روز
جاری تنها
"hour:minute:second" را
برمیگرداند.
برای سایر
تاریخها
در سال
جاری، "hour:minute"
را چاپ
میکند که
قبل از آن
"Tomorr" (فردا)،
"Ystday" (دیروز)،
نام روز
برای هفته
آینده
(مانند "Mon"،
"Tue" و غیره)
یا در غیر
این صورت
تاریخ
(مانند "25 Apr")
قرار
میگیرد.
برای
سالهای
دیگر،
تاریخ ماه و
سال بدون
زمان
بازگردانده
میشود
(مانند "6 Jun 2012").
تمامی
برچسبهای
زمانی از
قالب ۲۴
ساعته
استفاده
میکنند.
یک قالب معتبر strftime() نیز میتواند مشخص شود. برای مثال، مقدار "%a %T" روز هفته و یک برچسب زمانی را گزارش میکند (مانند "Mon 12:34:56").
- SLURM_YAML
- کنترل سریالسازی YAML:
مثالها (EXAMPLES)
این مثال نحوه اجرای پیشفرض دستور sacct را نشان میدهد:
# sacct Jobid Jobname Partition Account AllocCPUS State ExitCode ---------- ---------- ---------- ---------- ---------- ---------- -------- 2 script01 srun acct1 1 RUNNING 0 3 script02 srun acct1 1 RUNNING 0 4 endscript srun acct1 1 RUNNING 0 4.0 srun acct1 1 COMPLETED 0
این مثال همان اطلاعات حسابداری کار را با گزینه brief نشان میدهد.
# sacct --brief
Jobid State ExitCode
---------- ---------- --------
2 RUNNING 0
3 RUNNING 0
4 RUNNING 0
4.0 COMPLETED 0
# sacct --allocations Jobid Jobname Partition Account AllocCPUS State ExitCode ---------- ---------- ---------- ---------- ------- ---------- -------- 3 sja_init andy acct1 1 COMPLETED 0 4 sjaload andy acct1 2 COMPLETED 0 5 sja_scr1 andy acct1 1 COMPLETED 0 6 sja_scr2 andy acct1 18 COMPLETED 2 7 sja_scr3 andy acct1 18 COMPLETED 0 8 sja_scr5 andy acct1 2 COMPLETED 0 9 sja_scr7 andy acct1 90 COMPLETED 1 10 endscript andy acct1 186 COMPLETED 0
این مثال امکان سفارشیسازی خروجی دستور sacct را نشان میدهد. فیلدها به ترتیبی که در خط فرمان تعیین شدهاند نمایش داده میشوند.
# sacct --format=jobid,elapsed,ncpus,ntasks,state
Jobid Elapsed Ncpus Ntasks State
---------- ---------- ---------- -------- ----------
3 00:01:30 2 1 COMPLETED
3.0 00:01:30 2 1 COMPLETED
4 00:00:00 2 2 COMPLETED
4.0 00:00:01 2 2 COMPLETED
5 00:01:23 2 1 COMPLETED
5.0 00:01:31 2 1 COMPLETED
این مثال استفاده از گزینه -T (--truncate) را هنگام استفاده با -S (--starttime) و -E (--endtime) نشان میدهد. هنگامی که گزینه -T استفاده میشود، در صورتی که کار قبل از زمان مشخصشده آغاز شده باشد زمان شروع کار برابر با مقدار مشخصشده -S خواهد بود؛ در غیر این صورت زمان شروع برابر با زمان شروع واقعی کار خواهد بود. زمان پایان برابر با مقدار مشخصشده با گزینه -E خواهد بود اگر کار پس از زمان مشخصشده پایان یابد، در غیر این صورت برابر با زمان پایان کار خواهد بود.
بدون -T (عملکرد عادی) خروجی sacct شبیه به این خواهد بود:
# sacct -S2014-07-03-11:40 -E2014-07-03-12:00 -X -ojobid,start,end,state
JobID Start End State
--------- --------------------- -------------------- ------------
2 2014-07-03T11:33:16 2014-07-03T11:59:01 COMPLETED
3 2014-07-03T11:35:21 Unknown RUNNING
4 2014-07-03T11:35:21 2014-07-03T11:45:21 COMPLETED
5 2014-07-03T11:41:01 Unknown RUNNING
با افزودن گزینه -T زمانهای شروع و پایان کار بریده میشوند (truncate) تا تنها زمان درخواستشده را منعکس کنند. اگر کاری پس از زمان شروع درخواستی آغاز شده باشد یا پیش از زمان پایان درخواستی خاتمه یافته باشد آن زمانها تغییری نمیکنند. گزینه -T هنگام تعیین زمان دقیق اجرا در طول هر بازه زمانی مشخص مفید است.
# sacct -T -S2014-07-03-11:40 -E2014-07-03-12:00 -X -ojobid,jobname,user,start,end,state
JobID Start End State
--------- --------------------- -------------------- ------------
2 2014-07-03T11:40:00 2014-07-03T11:59:01 COMPLETED
3 2014-07-03T11:40:00 2014-07-03T12:00:00 RUNNING
4 2014-07-03T11:40:00 2014-07-03T11:45:21 COMPLETED
5 2014-07-03T11:41:01 2014-07-03T12:00:00 RUNNING
توجه: اگر گزینه -s (--state) داده نشود، sacct کارهای واجد شرایط در طول بازه زمانی مشخصشده را نمایش خواهد داد، در غیر این صورت کارهایی را برمیگرداند که در وضعیت درخواستی در طول آن بازه زمانی بودهاند.
این مثال تفاوتهای اجرای sacct را با و بدون فلگ --state برای بازه زمانی یکسان نشان میدهد. بدون گزینه --state، تمام کارهای واجد شرایط در آن بازه زمانی نشان داده میشوند.
# sacct -S11:20:00 -E11:25:00 -X -ojobid,start,end,state
JobID Start End State
------------ ------------------- ------------------- ----------
2955 11:15:12 11:20:12 COMPLETED
2956 11:20:13 11:25:13 COMPLETED
با گزینه --state=pending، تنها کار ۲۹۵۶ نمایش داده خواهد شد زیرا دارای وابستگی به ۲۹۵۵ بود و از ساعت 11:20:00 تا زمانی که در 11:21:13 شروع شد همچنان در حالت PENDING بود. توجه داشته باشید که با اینکه کارهای PENDING را درخواست کردیم، وضعیت (State) به صورت COMPLETED نمایش داده میشود زیرا وضعیت کنونی کار همین است.
# sacct --state=pending -S11:20:00 -E11:25:00 -X -ojobid,start,end,state
JobID Start End State
------------ ------------------- ------------------- ----------
2956 11:20:13 11:25:13 COMPLETED
کپیرایت و تکثیر (COPYING)
Copyright (C) 2005-2007 Copyright Hewlett-Packard Development
Company L.P.
Copyright (C) 2008-2010 Lawrence Livermore National Security.
تولید شده
در
آزمایشگاه
ملی لارنس
لیورمور
(قید سلب
مسئولیت را
ببینید).
Copyright (C) 2010-2022 SchedMD LLC.
این پرونده بخشی از Slurm است، یک برنامه مدیریت منابع. برای جزئیات، https://slurm.schedmd.com را ببینید.
نرمافزار Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) طبق آنچه بنیاد نرمافزارهای آزاد منتشر کرده است، بازتوزیع کرده یا تغییر دهید؛ چه نسخه ۲ پروانه، یا (به انتخاب خودتان) هر نسخه بعدی آن.
نرمافزار Slurm با این امید توزیع شده است که مفید واقع شود، اما بدون هیچگونه ضمانتی؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر به پروانه عمومی همگانی گنو مراجعه کنید.
فایلها (FILES)
- /etc/slurm.conf
- ورودیهای این فایل، حسابداری کار را فعال کرده و فایل لاگ حسابداری کار را مشخص میکنند که اطلاعات حسابداری کارهای سیستم را جمعآوری مینماید.
- /var/log/slurm_accounting.log
- فایل لاگ پیشفرض حسابداری کار. بهطور پیشفرض، دسترسی خواندن و نوشتن این فایل فقط برای کاربر ریشه (root) تنظیم شده است.
همچنین ببینید (SEE ALSO)
sstat(1), ps (1), srun(1), squeue(1), getrusage (2), time (2)
| Slurm Commands | Slurm 26.05 |