Ana içeriğe geç

kule limits

Bir ajan çalıştırmasının bu bilgisayardan ne kadar kullanabileceğini gösterir ya da ayarlar: işlemci, bellek, disk, GPU ve süre.

Kullanım​

kule limits [OPTIONS] [SETTINGS]...

Açıklama​

Sınırlar bir görevin her ajan çalıştırmasını sınırlar. Üç kapsamda ayarlanabilirler:

KapsamNasıl seçilirNeyi sınırlar
Tüm görevlerseçenek yok (varsayılan)Grubunun da görevin kendisinin de kendi değerini koymadığı her görevi.
Bir gruptaki her görev--group IDO gruptaki her görevi, alan alan, görevin kendi değeri olmadığı yerde.
Tek bir görev--task TASKYalnızca o görevi.

Bir görevin kendi değeri grubununkinin, bir grubunki de tüm görevlerinkinin önüne geçer. Bir grubun sınırı, gruptaki her görevi ayrı ayrı sınırlar: bir grupta cpu=2, paylaşılan 2 çekirdek değil, her görev için 2 çekirdek demektir.

Ayar vermezseniz komut kapsamın sınırlarını yazar. Ayar verirseniz onları değiştirir, sonra yazar. Her satır değerinin nereden geldiğini söyler; böylece hangi kapsamı değiştirdiğinizi her zaman görürsünüz.

Süren bir çalıştırma, başladığı sınırları korur. Bir değişiklik bir sonraki çalıştırmadan itibaren geçerlidir. kule run ve uygulamadan başlatılan çalıştırmalar aynı sınırlara tabidir.

Alanlar​

AlanBirimAşıldığında ne olur
cpuçekirdek (1.5 bir buçuk demek)Çalıştırma durdurulmaz, yavaşlatılır: Kule süreçlerini sırayla duraklatıp sürdürür.
memoryGB, çalıştırmanın tüm süreçleri birlikteSüreçler hemen öldürülür ve çalıştırma durur.
diskGörev oluşturulduğundan beri kopyanın, geçici dosyalarının ve ev dizini değişikliklerinin büyüyebileceği GBÇalıştırma durur. Hiçbir dosya bunun ötesine yazılamaz.
gpuon / offoff: macOS'ta Metal'e (ve OpenCL'e) hiçbir aygıt verilmez; Linux'ta GPU aygıtları salt okunur kalır.
rundakika, tek bir çalıştırmaÇalıştırma durur. Yanıtlarınızı beklerken geçen süre de sayılır.
tasksaat, görevin tüm çalıştırmalarının toplamıÇalıştırma durur ve siz artırana kadar yeni çalıştırma başlamaz.
idlehiçbir şey yapmadan geçen dakikaÇalıştırma durur. "Hiçbir şey yapmamak", ajandan hiç mesaj, araç çağrısı, çıktı, işlemci kullanımı ya da yeni süreç gelmemesi demektir. Sizi bekleyen bir soru sayılmaz.

Değerler​

DeğerAnlamı
0'dan büyük bir sayıAlanın biriminde sınır (memory=4, cpu=1.5, run=30).
noneBu kapsamda bu alan için sınır yok.
on, offYalnızca gpu için.
inheritYalnızca --group ya da --task ile: bu kapsamın kendi değerini bırakır ve yeniden üstteki kapsamın değerini alır.

Argümanlar​

ArgümanAnlamı
SETTINGS...Sıfır ya da daha fazla FIELD=VALUE çifti, örneğin memory=4 cpu=none gpu=off.

Seçenekler​

SeçenekDeğerVarsayılanAnlamı
--groupgrup kimliğiBu gruptaki her görevin sınırlarını gösterir ya da ayarlar. Kimlikler için bkz. kule group.
--taskgörev kimliğiBu görevin kendi sınırlarını gösterir ya da ayarlar.
--homeyol~/.kule (ya da KULE_HOME)Kule'nin evi. Bkz. genel seçenekler.
-h, --helpYardımı yazdırır.

--group ve --task birlikte kullanılamaz.

Örnekler​

Hiçbir şey ayarlı değilken varsayılanlar:

$ kule limits
limits for EVERY TASK (where its group and the task set none of their own):
processor no limit
memory no limit
disk no limit
one run no limit
all of a task's runs no limit
doing nothing no limit
GPU may be used

Her görevi 1,5 çekirdek ve 4 GB ile sınırlayın, 10 dakika boşta kalan çalıştırmaları durdurun ve GPU'yu kapatın:

$ kule limits cpu=1.5 memory=4 idle=10 gpu=off
limits for EVERY TASK (where its group and the task set none of their own):
processor 1.5 cores
memory 4 GB
disk no limit
one run no limit
all of a task's runs no limit
doing nothing 10 min
GPU off

1 numaralı gruptaki her görev için daha sıkı sınırlar:

$ kule limits --group 1 memory=2 run=30
limits for EACH TASK IN GROUP 1 "clients" (1 task), where a task sets none of its own:
processor 1.5 cores (every task's)
memory 2 GB (the group's)
disk no limit (every task's)
one run 30 min (the group's)
all of a task's runs no limit (every task's)
doing nothing 10 min (every task's)
GPU off (every task's)

O gruptaki bir görevin daha fazla belleğe ihtiyacı var:

$ kule limits --task 1046fb30 memory=8
limits for TASK 1046fb30 only (in group 1 "clients"):
processor 1.5 cores (every task's)
memory 8 GB (its own)
disk no limit (every task's)
one run 30 min (group "clients")
all of a task's runs no limit (every task's)
doing nothing 10 min (every task's)
GPU off (every task's)

Grubun değerine geri döndürün:

$ kule limits --task 1046fb30 memory=inherit
limits for TASK 1046fb30 only (in group 1 "clients"):
processor 1.5 cores (every task's)
memory 2 GB (group "clients")
...

Çıktı​

  • İlk satır kapsamı büyük harfle adlandırır: EVERY TASK, EACH TASK IN GROUP … ya da TASK … only.
  • Grup ya da görev kapsamında parantezler her değerin nereden geldiğini söyler: (its own) (kendisinin), (the group's) / (group "clients") (grubun) ya da (every task's) (tüm görevlerin).
  • no limit o alanı hiçbir şeyin sınırlamadığı anlamına gelir; may be used GPU'nun açık olduğu anlamına gelir.

Hatalar ve çözümler​

MesajNe yapmalı
kule: memory: write a limit as FIELD=VALUE, such as memory=4= ve bir değer ekleyin.
kule: foo: a limit is cpu, memory, disk, gpu, run, task or idleBu alan adlarından birini kullanın.
kule: memory=0: a number of GB above 0, or nonePozitif bir sayı kullanın; none sınırı kaldırır.
kule: gpu: on, off or inheritgpu yalnızca bu sözcükleri alır.
kule: memory: `inherit` is for --group or --task; the limits for every task have nothing above themTüm görevler kapsamında bir değer ya da none kullanın.
error: the argument '--group <GROUP>' cannot be used with '--task <TASK>'Tek bir kapsam seçin.
kule: no group 9 / kule: no task …Kimliği kule group ya da kule list ile kontrol edin.

Bir sınır bir çalıştırmayı durdurduğunda çalıştırma, Live'da ve kule run'ın çıktısında nedeniyle birlikte başarısız olur; örneğin Stopped: the run's processes held 4.2 GB, over its memory limit of 4 GB.

Uygulamada​

Settings → Limits; burada Applies to ile Every task (tüm görevler), One group (bir grup) ya da One task (tek görev) seçilir. Bir görevin ya da grubun ⋮ menüsündeki Limits… o kapsamı açar; Live'da istem satırının altındaki ölçüm çubuğu da görevin kapsamını açar. Bir görevi bir gruba taşımak ya da gruptan çıkarmak, sınırlarını değiştirecekse önce sorar.

Ayrıca bakın​