abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 7
včera 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
včera 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
včera 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
9.12. 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
9.12. 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
9.12. 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
9.12. 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (23%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 810 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: jak limitovat prostredky pro pgsql

10.2.2006 13:28 stradivarius
jak limitovat prostredky pro pgsql
Přečteno: 150×
Zdravim, prave jsem polozil stroj pomoci funkce v plpgsql ktera pracovala pres 36000radku. Dosla pamet. Jak tomu rozumim, tak protoze takova funkce pracuje v transakci, tak se data asi ukladala do pameti tak dlouho, dokud nedosla. Funkce delala 2 LOOPy, jeden pres 36000 radku a druhy vnitrni pres 90radku a vykonavala INSERTy do nekolika ruznych tabulek. Rekl bych ze v dotazu chyba nebude a v transakci bych to rad ponechal.

Chtel bych tedy nastavit limit pameti pro proces postmaster. Lze to? Nepotrebuji nastavit pamet pro vsechny procesy pres System V IPC. Diky

Odpovědi

12.2.2006 11:48 asd
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
man bash - hledat ulimit. nebo man 2 setrlimit. to je ale prilis systemove. To se potom mozna muze postgre odporoucet i takovym zpusobem, ze si poskodi databazi. Rek bych, ze je todle horsi nez kdyz je proces bud a) zabit z oom manazeraa nebo ceka na veky v situaci s povolenym overcommitem. Protoze takhle se mu nemisi povist neco alokovat a bude zalezet na programatorovi, jestli nezapomel na if a ukonci li se s nejakou chybovou hlaskou transakce nebo jestli pojede dal a zacnou se dit spatnosti.

Doporucil bych se podivat do postgresu jestli neni nekde konfigurace obdobneho mazxima treba neco s result sety apod. nebo pridat 10GB swap.
13.2.2006 10:31 stradivarius
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
Diky za odpoved,

Ulimit je prima. Setrlimit je jeste lepsi. Ale myslel jsem na nejakou konfiguraci v postgresu, ktera by byla schopna zrusit query, pokud tato je moc zrava, ale postmaster by prezil. Treba
SET transaction_memory_limit=500M;
:-) Ale asi nic takoveho nebude, zvlaste kdyz se tranakce uklada v temp tabulkach.
12.2.2006 13:05 barney
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
postgresql si vysledky transakcie neuklada v pamati, len si ich zapise do prislusnej tabulky s oznacenim transakcie, ktora ich vytvorila (a aj preto je nutny vacuum).

skor by som povedal, ze v tej funkcii bude memory-leak.

13.2.2006 10:22 stradivarius
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
Zdravim a diky za odpoved, Query ve funkci jsem si rozdelil do vicero funkci a potom ze skriptu volal vzdy po davkach o 10000 radcich. Probehlo to korektne a docela rychle. Slo o vlozeni dat ze starych tabulek do novych tabulek (jina struktura, data provazana cizimi klici).

Po vlozeni ostatnich dat jsem chtel udelat query (viz nize ve funkci) najednou pro vsechna data, ale zacalo to swapovat jako predtim, takze to bude mozna tady tim. Opet jsem to musel rozkouskovat a volat po castech. Rad bych vam dal za pravdu a fci lepe napsal, ale pokud tam memory leak je tak ji bohuzel nevidim. Ta exception je tam proto ze vychozi data nejsou v nejkonzistentnejsim stavu...

Mate pravdu s tou docasnou tabulkou pro transakci, to je rozhodne logictejsi.
CREATE OR REPLACE FUNCTION icv_objects2(integer,integer)  RETURNS void AS $BODY$
DECLARE
	rec RECORD;
BEGIN
	FOR rec IN SELECT * FROM md_metadata_old WHERE id_metadata::integer BETWEEN $1 AND $2 LOOP
		RAISE NOTICE 'Adding values for metadata %',rec.id_metadata;
		IF rec.id_metadatagroup IS NOT NULL THEN
				BEGIN
					EXECUTE 'INSERT INTO md_metadata(fileidentifier,parentidentifier,identificationinfo) VALUES('||rec.id_metadata::integer||', '||rec.id_metadatagroup::integer||', '||rec.id_metadata::integer||')';
				EXCEPTION WHEN foreign_key_violation THEN
					EXECUTE 'INSERT INTO md_metadata(fileidentifier,parentidentifier,identificationinfo) VALUES('||rec.id_metadata::integer||', '||rec.id_metadata::integer||', '||rec.id_metadata::integer||')';
				END;
		END IF;		
	END LOOP;
END;
$BODY$
PostgreSQL 8.1.0
13.2.2006 12:12 barney
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
aha :-))

ak ma pamat neklame, problem je ten, ze select taha vsetky data do pamate. vyskusajte implementovat nasledovny pseudokod (bohuzival plpgsql neovladam/nepouzivam) :


"declare cursor nejake_meno for select * from md_metadata_old;"
while row = "fetch from nejake_meno"
  insert into ...
end

13.2.2006 16:43 stradivarius
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
Bingo! A ja si rikal na co ty asi kurzory jsou. Ale dokumentace me lehce mate, pry smycky FOR maji interni kurzor. Zda se mi ze interni kurzory asi funguji jinak, protoze tato funkce tentokrat trvala pouze kolem 30s(puvodni nedavkovana by mozna ani nedobehla). Ale je pravda, ze tabulka nemela cizi klice, takze se nekontrolovaly zavislosti.

Zde vysledek:
CREATE OR REPLACE FUNCTION icv_objects3()
  RETURNS void AS
$BODY$
DECLARE
	row md_metadata_old%ROWTYPE;
	curs REFCURSOR;
BEGIN
	OPEn curs FOR SELECT * FROM md_metadata_old;
	FETCH curs INTO row;
	WHILE FOUND LOOP
		RAISE NOTICE 'Adding values for metadata %',row.id_metadata;
		IF row.id_metadatagroup IS NOT NULL THEN
			BEGIN
				EXECUTE 'INSERT INTO md_metadata_test(fileidentifier,parentidentifier,identificationinfo) VALUES('||row.id_metadata::integer||', '||row.id_metadatagroup::integer||', '||row.id_metadata::integer||')';
			EXCEPTION WHEN foreign_key_violation THEN
			END;
		END IF;	
		FETCH curs INTO row;	
	END LOOP;
	CLOSE curs;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
http://www.postgresql.org/docs/8.1/interactive/plpgsql-cursors.html#PLPGSQL-CURSOR-DECLARATIONS

To by bylo, dekuji barney! Nicmene, zpet k puvodni otazce, nemohu nejak omezit prostredky pro jednotlive query? Pokud takovou fci nekdo spusti treba na sdilenem hostingu? Asi kazdy namitne ze tam potom nema co pohledavat, nicmene vypadek hrozi, nebo dokonce nekonzistence dat, pokud by postmaster mel omezeni v OS.
13.2.2006 16:54 barney
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
rád som pomohol (i sa niečo priučil)
s obmedzeniami vám bohužial neviem poradiť.
15.2.2006 11:01 stradivarius
Rozbalit Rozbalit vše Re: jak limitovat prostredky pro pgsql
Takze asi takove nativni nastaveni omezeni zdroju na query neexistuje, skoda. Bylo by to docela uzitecne. Ted lze videt probihajici query pokud vim maximalne pres pg_stat_activity, takze by sel mozna udelat nejaky skriptik, ktery by podle loadu killoval query, ktera bezi nejdele casu. Neni to nejsystemovejsi, ale zase by to mohlo posilat mailem upozorneni a jine veci.

Mam nejisty pocit, ze nejake rizeni zdroju jsem nedavno videl v prezentaci http://www.enterprisedb.com, ale ted to na tech strankach nejak nemuzu najit. Mimochodem, pouzivate nekdo tu enterprisedb?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.