Udělal jsem si domácí úkol a (téměř) zjistil, co každá možnost dělá. Také jsem si všiml, že v /etc/security/limits.conf
je více možností než se objeví s ulimit -a
. Proto jsem zde zdokumentoval pouze to druhé. Všichni jsou samozřejmě zváni, aby tuto odpověď obohatili!
-
velikost souboru jádra (bloky, -c)
Maximální velikost vytvořených souborů jádra. Výpis jádra je snímek systému (RAM + přepínač kontextu + registry procesoru).
https://cs.wikipedia.org/wiki/Core_dump
-
velikost segmentu dat (kbajty, -d)
Maximální velikost datového segmentu procesu. Datový segment je část objektového souboru nebo odpovídající virtuální adresní prostor programu, který obsahuje inicializované statické proměnné.
https://cs.wikipedia.org/wiki/Data_segment
-
priorita plánování (-e)
Maximální prioritu plánování („hezká“), kterou lze procesu přidělit.
https://cs.wikipedia.org/wiki/Scheduling_%28computing%29
-
velikost souboru (bloky, -f)
Maximální velikost souborů zapsaných shellem a jeho potomky.
-
nevyřízené signály (-i)
Sada signálů, které čekají na doručení do volajícího vlákna.
https://unix.stackexchange.com/questions/197600/what-are-pending-signals
-
maximální počet uzamčených pamětí (kbajty, -l)
Maximální velikost, kterou lze uzamknout v paměti. Uzamčení paměti zajišťuje, že paměť je vždy v paměti RAM a nikdy se nepřesunuje na odkládací disk.
https://stackoverflow.com/questions/9818755/why-would-we-need-to-lock-a-processs-address-space-in-ram
-
maximální velikost paměti (kbajty, -m)
Kolik paměti má proces aktuálně v hlavní paměti (RAM), na rozdíl od toho, kolik virtuální paměti má proces celkem.
https://cs.wikipedia.org/wiki/Resident_set_size
-
otevřené soubory (-n)
Maximální počet otevřených deskriptorů souboru. Deskriptor souboru je abstraktní indikátor používaný pro přístup k souboru nebo jinému vstupnímu/výstupnímu zdroji, jako je roura nebo síťový soket.
https://cs.wikipedia.org/wiki/File_descriptor
Seznam deskriptorů souborů:http://www.cyberciti.biz/tips/linux-procfs-file-descriptors.html
-
velikost potrubí (512 bajtů, -p)
Velikost vnitřní vyrovnávací paměti potrubí. Viz část "kapacita potrubí" na http://man7.org/linux/man-pages/man7/pipe.7.html
-
Fronty zpráv POSIX (bajty, -q)
Maximální počet bajtů ve frontách zpráv POSIX. Fronty zpráv POSIX umožňují procesům vyměňovat si data ve formě zpráv.
http://linux.die.net/man/7/mq_overview
Fronty zpráv obecně https://en.wikipedia.org/wiki/Message_queue
-
Priorita v reálném čase (-r)
Maximální priorita plánování v reálném čase. Vlákno s prioritou v reálném čase nemůže být nikdy potlačeno přerušeními časovače a běží s vyšší prioritou než jakékoli jiné vlákno v systému.
https://stackoverflow.com/questions/1663993/what-is-the-realtime-setting-for-for-process-priority
-
velikost zásobníku (kbajty, -s)
Maximální velikost zásobníku. Velikost zásobníku je vyhrazená oblast paměti, která se používá k uložení umístění volání funkcí, aby se příkazy return mohly vrátit do správného umístění.
https://cs.wikipedia.org/wiki/Stack-based_memory_allocation
-
doba procesoru (sekundy, -t)
Maximální doba procesoru v sekundách.
https://cs.wikipedia.org/wiki/CPU_time
-
maximální počet uživatelských procesů (-u)
Maximální počet procesů, které může uživatel spustit nebo rozdělit.
https://cs.wikipedia.org/wiki/Process_%28computing%29
Tento příkaz ukazuje, kolik procesů každý uživatel aktuálně používá:
ps h -Led -o user | sort | uniq -c | sort -n
-
virtuální paměť (kbajty, -v)
Maximální množství virtuální paměti dostupné pro shell. Virtuální paměť mapuje adresy paměti používané programem, nazývané virtuální adresy, na fyzické adresy v paměti počítače.
https://cs.wikipedia.org/wiki/Virtual_memory
-
zámky souborů (-x)
Uzamčení souborů je mechanismus, který omezuje přístup k počítačovému souboru tím, že umožňuje přístup pouze jednomu uživateli nebo procesu v kteroukoli konkrétní dobu.
https://cs.wikipedia.org/wiki/Zamykání_souborů