Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Velmi důležitou součástí administrace virtuálních serverů je správa výpočetních zdrojů. Dovoluje změnit limity či upravit přidělení například virtuální paměti serveru, a to i za běhu. Můžeme tedy dynamicky snížit i zvýšit přidělené množství zdroje. Podobnou úpravu v takové míře nejrozšířenější paravirtualizační nástroj XEN neumožňuje.
Linux-VServer i OpenVZ nabízejí utility pro změnu měkkých a tvrdých limitů výpočetních zdrojů, kde tvrdý limit je horním mantinelem rozsahu nastavení měkkého limitu. Tvrdý (hard) limit bývá nastaven z vně virtuálního serveru, měkký (soft) limit je umožněno změnit i privilegovaným procesům příslušného serveru.
Linux-VServer rozšiřuje přidělování výpočetních zdrojů z procesů na celé kontexty. Mechanismus vychází z limitů, které můžeme nastavit ve standardním linuxovém prostředí.
V následující tabulce je uveden seznam standardních linuxových výpočetních zdrojů. Sloupce mají tento význam:
proc-fs
– označení užívané v /proc/virtual/*/limit
ulimit
– přepínač pro utilitu ulimit
ID | Jméno | proc-fs | ulimit | jednotka | popis |
0 | CPU | -t | ms | Čas CPU | |
1 | FSIZE | -f | KiB | Maximální velikost souboru | |
2 | DATA | -d | KiB | Maximální velikost datového segmentu | |
3 | STACK | -s | KiB | Maximální velikost zásobníku | |
4 | CORE | -c | KiB | Maximální velikost souboru core | |
5 | RSS | RSS | -m | page | Maximální Resident set size |
6 | NPROC | PROC | -u | 1 | Maximální počet procesů |
7 | NOFILE | FILES | -n | 1 | Maximální počet otevřených souborů |
8 | MEMLOCK | VML | -l | page | Maximální locked-in-memory adresový prostor |
9 | AS | VM | -v | page | Maximální adresový prostor |
10 | LOCKS | LOCKS | -x | 1 | Maximální počet držených souborových zámků |
11 | SIGPENDING | -i | 1 | Maximální počet čekajících signálů | |
12 | MSGQUEUE | MSGQ | -q | Byte | Maximum bajtů v POSIX mqueues |
13 | NICE | 1 | Maximální možná hodnota nice prio | ||
14 | RTPRIO | -r | 1 | Maximální realtime priorita |
Linux-VServer rozšiřuje jádro o limity uvedené v následující tabulce:
ID | Jméno | proc-fs | jednotka | popis |
15 | NSOCK | SOCK | 1 | Maximální počet otevřených soketů |
16 | OPENFD | OFD | 1 | Maximální počet otevřených FD |
17 | ANON | ANON | page | Maximální velikost anonymous memory |
18 | SHMEM | SHM | page | Maximální velikost sdílené paměti |
19 | SEMARY | SEMA | 1 | Maximální počet polí semaforů |
20 | NSEMS | SEMS | 1 | Maximální počet semaforů |
21 | DENTRY | DENT | 1 | Maximální počet struktur dentry |
Rozlišují se dva typy limitů. Hard limit nastaví hranici, kterou z pohledu virtuálního serveru nelze překonat. Soft limit je hranice nižší nebo rovná hard limitu a pouze privilegované procesy (s povolenou CAP_SYS_RESOURCE
capability) jsou oprávněny tento limit změnit.
Linuxové limity (vycházející z SVr4, 4.3BSD, POSIX.1-2001) pro virtuální prostředí můžeme měnit v konfiguraci virtuálního serveru. Vytvoříme odpovídající soubor v adresáři /etc/vservers/<vserver-name>/rlimits
. Možné limity jsou: cpu
, fsize
, data
, stack
, core
, rss
, nproc
, nofile
, memlock
, as
a locks
. Ostatní limity v současných verzích systému není možné upravit. Každý soubor omezuje právě jeden z těchto zdrojů. Může se však vyskytovat ve čtyřech podobách:
Namísto konkrétní hodnoty je možné použít speciální slovo inf
, které značí neomezený zdroj.
U běžcích kontextů pro změnu limitů využijeme utilitu vlimit
. Její základní syntax je následující:
# vlimit -c xid [-a] [[-H|M|S] --resource value]
Přepínač -c
označuje kontextové číslo, přepínač -a
vypíše všechny dostupné limity, přepínač -H
označuje hard limit, -S
soft limit a -M
minimální garantovanou hodnotu zdroje. --resource
značí zdroj a value
jeho hodnotu.
Zdroje, které je možné nastavit utilitou vlimit
jsou: cpu
, fsize
, data
, stack
, core
, rss
, nproc
, nofile
, memlock
, as
, locks
, msgqueue
, nsock
, openfd
, anon
, shmem
, semary
, nsems
a dentry
.
Linuxové limity SIGPENDING
, NICE
a RTPRIO
nelze pro kontexty omezit.
Pro správnou funkčnost paměťových limitů je nutné, aby měl kontext statické číslo.
Paměťových limitů se týkají zdroje as a rss. Resident Set Size (rss) je počet stránek, které jsou k dispozici v RAM. Address Space (as) je celkový počet stránek, které jsou namapovány v každém procesu kontextu.
Pokud virtuální server přesáhne hard limit rss
, OOM killer vybere a zabije proces. Soft limit rss
je zobrazen jako maximální dostupná paměť. Po překročení hard limitu as
není žádný proces zabit, systém pouze ohlásí chybu. Soft limit as
není v současné implementaci využit.
Pro správné zobrazování volné paměti z pohledu kontextu musíme vložit do souboru /etc/vservers/<name_of_kontext>/flags
řádek virt_mem
.
Rozdílný význam mají hard a soft limit při zvýšení jejich hodnoty. Zvýšíme-li limit rss
nad původně zvolenou hodnotu jako hard, je rozdíl vrácen ke swap. Pokud jej zvýšíme jako soft limit, je paměť navrácena k volné RAM.
Probrali jsme konfiguraci limitů hardwarových zdrojů u Linux-VServeru. Mezi jeho nesporné výhody patří fakt, že vychází z původních limitů, které jsou již v Linuxu obsaženy. V příštím díle se podíváme do nepříliš průhledného světa OpenVZ. Tento systém totiž zavádí zcela nové pojmy a postupy, což může nadělat mnoha uživatelům vrásky.
Nástroje: Tisk bez diskuse
Tiskni Sdílej: