Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Server / Re:Jak zabránit zahlcení systému vyčerpáním RAM
« Poslední příspěvek od RDa kdy Dnes v 22:01:59 »
Stroj s 1GB RAM neni vhodny na veci, ktere delate. Anebo pouzivate nevhodny SW :)

Bezne pracuji s nekolit set GB soubory - a bud si je nactu rucne do ram, nebo je mam v tmpfs.. a pokud se to tam nevejde, tak holt se to streamuje po kouscich.

Tenhle proces je potreba mit pod kontrou, a nepouzivat totalne nevhodne knihovny. Napr. rozdelit soubor na bloky jde A) jak pri cteni (nactu kousek, zpracuji, a tak dokola), anebo hipstersky - B) nactu to cely, rozdelim na casti a zpracuji po castech.

Je evidentni ze autori reseni B netusi jak pocitac funguje a meli by delat neco jineho, nez se venovat IT.


Reseni pro vas: - nastavit OOM aby byl sviznejsi, klidne tak, ze kdyz proces vyzere 90% volneho prostoru, tak at je ukoncen. Normalne se to totiz pousti az kdyz je potreba - na hranici 100%, kdy vsechno ostatni bylo uswapovano, zkomprimovano, uvolneno atd.. vlastne to je asi ta nejvetsi nevyhoda OOM - ze musi pockat az opravdu dojde pamet - a kdyz zrusite napr. diskovou cache, protoze ta potrebna jaksi neni.. tak vsechno bude neskutecne dlouho trvat.
2
Server / Re:Jak zabránit zahlcení systému vyčerpáním RAM
« Poslední příspěvek od alex6bbc kdy Dnes v 21:59:12 »
cgroups
3
Vývoj / Re:Produktivita vývojáře v době AI
« Poslední příspěvek od Zdeno Sekerák kdy Dnes v 21:51:44 »
Pouzivam ChatGPT ale jenom jako chytry vyhledavac. Fakt je to lepsi nez prochazet tuny odpovedi na stackoverflow. Kdyz odpovi spatne tak ho opravim a necham pregenerovat. Na toto je to dobry.
Zkousel jsem pouzit na vetsi program, chtel jsem funkcni kod na DLMS komunikaci, a nedal to. Stravil jsem s nim hodne hodin. Opravoval jsem po nem kod a nechal ho to prodelavat. Ten stroj ma fakt trpelivost. Haha. Ale nedal to. Ani kdyz uz jsem ho tlacil k nejakemu reseni co jsem vedel ze funguje.
Takze jako evolucne lepsi google rozhodne. Neco vetsiho to je ztrata casu. Taky souhlas ze to vede k spohodlneni. Ze zacatku to jeste kontrolujete pak uz jenom rezignovane pastujete kod a trasujete jestli to dela co ma.

Jo pise to celkem hezke komentare ke kodu.
4
Server / Jak zabránit zahlcení systému vyčerpáním RAM
« Poslední příspěvek od mikesznovu kdy Dnes v 21:33:37 »
Opět se mi na linuxu stalo, že mi jedna userspace (skript)aplikace spotřebovala celkovou dostupnou paměť 1024MB (bežně 200MB spotřeba). A ne, není to  pracovní mašina, ale jednoúčelový minipočítač, kde i 640MB musí stačit každému.účelu I když nevím jak je to možné, z 300MB textového souboru jsem chtěl najít pozici stringu, místo toho jsem asi omylem metodou fd.find.toarray nějak způsobil  rozkouskování textu na řádky a převod na pole a snahu to vypsat do REPL. Ale rozhasilo to celý systém, včetně  procesů pod rootem jako sshd,

Stroj reagoval na ping, chvíli ještě fungovalo DNS. Pak už ne. To samé ssh, chvíli se ukázal banner, pak už jen hluchý soket. stejně tak, wireguard spojení taky ještě chvíli šlo.
Překvapivě za 10 minut panikaření pomohlo čapnout monitor, klávesnici a  mačkat Alt, F2, killall node, ani ne naslepo, reagovalo to obstojně a taky jsem se živě podíval do okna zase jednou.. Mimojiné jsem zjistil, že došlo místo na disku na systémové partition microSDkarty, , lokalizoval jsem ho do stejného umístění jako daný 300MB soubor.

JMENOVAL  o jako on a měl příponu SAVE. ale velikost cca poloviční, víc se nevešlo na partition. Tak jsem ho smazal. Předtím jsem zjistil, že nejvíc cpu žral proces "editor ....soubor.txt.save" (což je nějaký jen alias pro zvolený nano,vim,neolbgtmacs, neonevim)

Je nějak možné v linuxu nastavit, aby proces nevyžral celou RAM? on sice pak nějak zafungoval oom a měl jsem v dmesg podpis vraha, že zabil.

Nedám dohromady už časovou souslednost, kdy došlo k spuštění skriptu, kdy zaplnění místa, kdy k zaplnění ram, kdy řádil OOM.




co se vůbec dělo? Mám pocit , že hw měl na krajíčku, podle mmc_Rescan
Kód: [Vybrat]
INFO: task kworker/2:0:12812 blocked for more than 122 seconds.
[  +0,000014]       Tainted: G        WC        5.10.63-v7+ #1496
[  +0,000007] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  +0,000008] task:kworker/2:0     state:D stack:    0 pid:12812 ppid:     2 flags:0x00000000
[  +0,000029] Workqueue: events_freezable mmc_rescan
[  +0,000012] Backtrace:
[  +0,000023] [<809f9df0>] (__schedule) from [<809fa7c8>] (schedule+0x68/0xe4)
[  +0,000012]  r10:81ea9800 r9:ffffe000 r8:00000000 r7:00000000 r6:40000113 r5:8f3eae80
[  +0,000007]  r4:ffffe000
[  +0,000013] [<809fa760>] (schedule) from [<80806328>] (__mmc_claim_host+0xe0/0x238)
[  +0,000009]  r5:81ea9a18 r4:00000002
[  +0,000012] [<80806248>] (__mmc_claim_host) from [<808064b8>] (mmc_get_card+0x38/0x3c)
[  +0,000011]  r10:00000000 r9:00000000 r8:00000080 r7:b776bd00 r6:81ea9a18 r5:00000000
[  +0,000008]  r4:81eaa800
[  +0,000012] [<80806480>] (mmc_get_card) from [<80810144>] (mmc_sd_detect+0x24/0x7c)
[  +0,000008]  r5:81ea9800 r4:81ea9800

[  +0,000014] Workqueue: kblockd blk_mq_run_work_fn
[  +0,000007] Backtrace:
[  +0,000016] [<809f0cb0>] (dump_backtrace) from [<809f1040>] (show_stack+0x20/0x24)
[  +0,000008]  r7:ffffffff r6:00000000 r5:60000193 r4:80fe5e54
[  +0,000010] [<809f1020>] (show_stack) from [<809f5250>] (dump_stack+0xcc/0xf8)
[  +0,000011] [<809f5184>] (dump_stack) from [<80303898>] (warn_alloc+0xd4/0x164)
[  +0,000009]  r10:00040800 r9:80f05008 r8:ffffe000 r7:80d18638 r6:00000000 r5:00000000
[  +0,000005]  r4:80f05008 r3:9a21c83e
[  +0,000008] [<803037c4>] (warn_alloc) from [<803049e8>] (__alloc_pages_nodemask+0x10c0/0x1184)
[  +0,000006]  r3:00000000 r2:80d18638
[  +0,000007]  r8:00000000 r7:00000000 r6:00000008 r5:00000001 r4:00000800


nějaký memy nfo
Kód: [Vybrat]
Mem-Info:
[  +0,000016] active_anon:9913 inactive_anon:178904 isolated_anon:0
               active_file:52 inactive_file:916 isolated_file:0
               unevictable:4 dirty:0 writeback:0
               slab_reclaimable:4508 slab_unreclaimable:7646
               mapped:7567 shmem:23022 pagetables:2289 bounce:0
               free:4547 free_pcp:0 free_cma:640
[  +0,000013] Node 0 active_anon:39652kB inactive_anon:715616kB active_file:208kB inactive_file:3664kB unevictable:16kB isolated(anon):0kB isolated(file):0kB mapped:30268kB dirty:0kB writeback:0kB92088kB writeback_tmp:0kB kernel_stack:2528kB all_unreclaimable? yes
[  +0,000016] DMA free:18188kB min:16384kB low:20480kB high:24576kB reserved_highatomic:0KB active_anon:39652kB inactive_anon:715616kB active_file:248kB inactive_file:3696kB unevictable:16kB write:0kB present:917504kB managed:892204kB mlocked:16kB pagetables:9156kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:2560kB

po zabití
Kód: [Vybrat]
[  +0,000009] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=node,pid=14707,uid=1000
[  +0,000064] Out of memory: Killed process 14707 (node) total-vm:494324kB, anon-rss:471572kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:486kB oom_score_adj:0
[  +0,082600] oom_reaper: reaped process 14707 (node), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

jde nějak v linuxu nastavit, aby nebylo možné  zahltit všechnu RAM? whitelistem si myslím, že by to byl zdlouhavý přístup (služeb běží dost) a blacklist zase nezamíří na předem neznámé scénáře-procesy (dneska node, zítra julia)
5
Hardware / Re:Zigbee brána spolupracující s Raspberry Pi
« Poslední příspěvek od BigSandy kdy Dnes v 21:31:59 »
Tak přece jen jeden dotaz.
Provozuje někdo Zigbee2MQTT na linuxu? Ne v HA.
Jak zalohovat sparovane zařizeni?
Přes web. rozhrani jsem našel v nastavení Request Z2m backup.
Chci si koupit pod vypinače toto.
https://aliexpress.com/item/1005007541192244.html
No a když se mi něco posere v raspberry, tak budu muset všechny vypinače rozšroubovat, abych zařizení znovu sparoval.
6
Sítě / Re:Firewall s whitelistem při často měnící se ip adrese
« Poslední příspěvek od Michal Šmucr kdy Dnes v 21:25:06 »
Protože kdyby wireguard nefungoval, tak by jste to opravovali jak, když se tam ani nepřihlásíte?  Ano je možné mít wireguardy dva a přepínat, ale i když je to méně pravděpdobné, tak by nemuseli jet oba.
Vyřešil bych to jednoduše, použil ten druhý server. A pokud ten server padá několikrát za týden, tak je něco dost špatně, a není to princip VPN. Nebo si jako admin pořídíš pevnou ip sám pro sebe, tu si dáš do whitelistu, aby ses teda dostal přímo, a když ten VPN server padne, tak ho opravíš. Ale nebudeš muset dělat poloautomatické vrtání děr do bezpečnosti kvůli ostatním zaměstnancům.

Apropo, co stane, když padne třeba ten firewall, třeba protože v těch pravidlech, co se pořád mění, jak se lidem mění IP, se stala chyba a zablokovala všechno?

Přesně tak, prostě separátní administrátorský přístup, klidně i jinou technologií nebo přes vlastní pevnou IP. Ale hlavně úplně netuším, z čeho je takový strach ohledně stability nebo dočasné nedostupnosti. Typický downtime na těch VPN bránách je zpravidla reboot po nějaké pravidelné aktualizaci v naplánovaném časovém okně (které by tam mělo být stejně domluvené na občasnou údržbu). Pokud je to někde virtualizované, nebo se použije třeba kexec na rychlé zavedení nového jádra, tak se konektivita obnoví řádově do 30 sekund a zrovna u Wireguardu se nemusí na klientech dělat vůbec nic dalšího.

Ale musím říct, cca 38 serverů, nebo kolik, přístupných přímo z internetu, při každé změně veřejné IP klienta (respektive jejich sítí schovaných za tou IP) distribuce nějakých include souborů a následný reload ACL pravidel ve všech použitých lokálních firewallech.. To zní jako noční můra a musím říct, že jsem se dozvěděl lecos nového, tohle by mě snad ani nenapadlo.. :o
7
Hardware / Re:Oplatí sa repasovaný notebook?
« Poslední příspěvek od r443 kdy Dnes v 21:00:29 »
Latitude 5280 už měl C dock.

Nebo Latitude 7480 - stejná generace, ale má navíc trackpoint.
Tyhle modely s Core 7. generace výkonnostně pořád na 99% činností stačí, podporuje to NVMe, DDR4, USB-C a teď se navíc budou nabízet za zajímavé ceny, a to čím se bude blížit konec Windows 10, tím víc. Myslím, že pro uživatele linuxu poptávající nějaký podobný stroj to bude zajímavé období  ;)
8
Hardware / Re:Zigbee brána spolupracující s Raspberry Pi
« Poslední příspěvek od BigSandy kdy Dnes v 20:37:01 »
Vyřešene
9
Vývoj / Re:Produktivita vývojáře v době AI
« Poslední příspěvek od em.ve kdy Dnes v 19:54:51 »
Jak to máte vy drazí kolegové?

Zrovna včera jsem chatgpt zkoušel - průzkum bojem - a za mě dobrý.

Mám hromadu (50?) jednoduchých commandline py utilit k jednomu proprietárnímu API.
Po spuštění se kontrolují takové ty věci jako je počet parametrů a případně jejich typ
no a když to nesedí, tak se vypíše správná syntaxe a returnem se vyskočí ven.
Myšlenka byla přesunout všude výpis správné syntaxe do separátní metody help().
Dále mít utilitu help.py, která projede všechny py soubory a pokud v nich je help(),
tak ho zavolá -> nemusím udržovat zvláštní textový soubor s popisem ke všem utilitám.

1) python: write code to: get all python *.py files in the current directory. If there is help() function
    in them, execute it.
Funkční kód dala na cca 5. pokus.

2) now i need python code to rename all occurences of Usage: python to Usage: tpy
Chatgpt si pamatuje kontext, takže se ani neptala na typ souborů, se kterými má pracovat:
pyFiles = [f for f in os.listdir() if f.endswith('.py')]
Toto dala na 1. pokus

3) print all py files that do not contain help() function
1. pokus funkční

4) create the following function in all files that do not contain it.
Dále pokračovala definice help funkce, ale tu teď v chatu nevidím.
1. Pokus

Jenže jsem jí zapomněl říci, že chci, aby help() funkce byla jako první v každém souboru.
Takže
5) detect the first function in each file and place the help function above it
1. Pokus

Kdybych to zadal nějakému juniorovi, tak by to trvalo mnohem déle...

















10
Vývoj / Re:Produktivita vývojáře v době AI
« Poslední příspěvek od Standa Blábol kdy Dnes v 19:51:48 »
Pouzivam placenyChatGPT prakticky na vsechno, co pred tim resil Google.

Treba namatkou grep s regexem, co z konfiguraku odfiltruje zakomentovane a prazdne radky, napady co uvarit na veceri, ktery den v tydnu je Benatkach nejmin lidi, JSONpath vyraz pro vyhledani atributu z poskytnuteho vzrorku, jak pomoci openssl vypsat lastUpdate z CRL souboru, kod jednoduche javascript funkce s omezenim na uroven ES5, aby fungoval v embedded enginu Duktape a spoooustu dalsiho.
Stran: [1] 2 3 ... 10