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í
×
    včera 17:22 | Zajímavý projekt

    Max Leiter v roce 2019 zkusil zprovoznit X server na iPadu (iOS). Nyní se k tématu vrátil a s pomocí LLM a balíčkovacích nástrojů Procursus rozběhl desktop s X11 i Waylandem. Jeho balíčky jsou dostupné v repozitáři xiOS.

    |🇵🇸 | Komentářů: 6
    včera 13:33 | IT novinky

    Společnost Google Cloud dnes oznámila, že její infrastruktura a služby byly oficiálně zařazeny do Katalogu cloud computingu vedeného Digitální a informační agenturou (DIA). Tato certifikace potvrzuje, že infrastruktura a služby Google Cloud splňují přísné bezpečnostní a regulační požadavky České republiky pro provoz cloudových služeb ve veřejném sektoru.

    Ladislav Hagara | Komentářů: 4
    včera 13:11 | IT novinky

    Vůbec poprvé v historii se stát při testování digitálních služeb obrací na širokou veřejnost. Digitální a informační agentura (DIA) a Ministerstvo vnitra zvou občany k zapojení do zátěžového testu eDokladů, které od loňského podzimu prošly optimalizací aplikace a posílením infrastruktury. Test proběhne 13. srpna ve 13:00 a pro jeho úspěch bude potřeba zapojení několika desítek tisíc občanů. Zapojení do testu je zcela dobrovolné a úkol

    … více »
    Ladislav Hagara | Komentářů: 21
    včera 13:00 | Nová verze

    FireDragon je webový prohlížeč, doposud založený na Floorpu, jednom z forků Firefoxu s větším důrazem na ochranu soukromí a přizpůsobení uživatelského rozhraní. Spravuje ho člen komunity distribuce Garuda Linux. Nové vydání verze 13 opouští Floorp a přechází přímo na Firefox s patchi z LibreWolfu a vlastními úpravami. Dostupný je také na Flathubu.

    |🇵🇸 | Komentářů: 0
    včera 05:44 | Zajímavý software

    picogame (GitHub) je malý 2D herní engine pro mikrokontroléry jako RP2040, čip uvnitř kapesní konzole Picopad. Hru napíšeš v Pythonu a vyzkoušíš ji v prohlížeči nebo desktopovém simulátoru. Až bude hotová, zkopíruješ ji na podporovanou desku. Na začátku nepotřebuješ C, sestavení firmwaru ani hardware.

    Ladislav Hagara | Komentářů: 1
    29.7. 19:22 | Nová verze

    Multiplatformní prohlížeč elektronických knih KOReader byl vydán ve verzi 2026.07 "Sailing Walrus". U PDF souborů s SMask lze vyčistit pozadí. Přibyla podpora Kobo v5 nebo základní podpora OPDS 2.0.

    Ladislav Hagara | Komentářů: 0
    29.7. 14:22 | Komunita

    Společnost Valve sponzoruje a společnost Collabora portuje RADV (open source Vulkan ovladač pro AMD GPU z projektu Mesa) na Windows.

    Ladislav Hagara | Komentářů: 0
    28.7. 20:44 | Zajímavý projekt

    Starling (GitHub) je desktopové prostředí vytvořeno umělou inteligencí (s dohledem jednoho vývojáře během šesti měsíců).

    Ladislav Hagara | Komentářů: 37
    28.7. 14:22 | IT novinky

    Dne 30. června 2026 byla završena fyzická realizace projektu Czech National Quantum Communication Infrastructure (CZQCI), tedy České národní kvantové komunikační infrastruktury. Projekt byl realizován od 1. března 2023 a financován z Národního plánu obnovy částkou 121,6 milionu Kč. Cílem podpořeného projektu bylo vybudovat základy národní kvantové komunikační infrastruktury a ověřit možnosti jejího praktického využití. Mezi

    … více »
    Ladislav Hagara | Komentářů: 3
    28.7. 14:11 | IT novinky

    Město Šumperk se stalo terčem kybernetického útoku, chod úřadu je omezen. Zjišťuje se, jestli unikla nějaká data. Cílem hackerů byla městská datová síť. První útoky zaznamenali odborníci na informační technologie již v pondělí večer, závady se ale plně projevily až dnes ráno. Město událost nahlásilo Národnímu úřadu pro kybernetickou a informační bezpečnost (NUKIB).

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2286 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Serverová aplikace C++ - paměť

    21.12.2018 22:27 __blr__
    Serverová aplikace C++ - paměť
    Přečteno: 1430×
    Zdravím,

    potřebuji naprogramovat aplikaci v C++ běžící pod Linuxem. V ideálním případě aplikace poběží nonstop, restart aplikace (daemona) nebude žádaný a očekávám, že vždy přinese problémy.

    Rád bych se proto zeptal na zkušenosti s různými aplikacemi buď vámi psanými, nebo běžně dostupnými (Apache):

    aplikace bude postupem času alokovat relativně malé bloky paměti pro jednotlivé třídy (od několika bajtů po max. desítky kB), některé si ponechá, ale jiné bude alokovat a uvolňovat. Maximální počet jednotlivých tříd bude omezen. Po nějakém měsíci provozu očekávám max. stovky MB, jak využité, tak i alokované a uvolněné.

    Má význam zabývat se fragmentací dynamicky alokované paměti (případně jak), nebo jsou v jádru k dispozici nástroje, které si s tím poradí?

    Jsou s běžně používanými aplikacemi (daemony) typu Apache problémy v dlouhodobém provozu bez restartu (zpomalení, apod.) ?

    Díky

    Odpovědi

    21.12.2018 22:35 debian+
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Isto ziadne restarty? Ani restart pri update "C++ standart library"? Co ak nieco zblne a bude nutny restart?

    Nikdy - to sa hovorilo aj o Titaniku.

    V cistom C si vies lahlo pamet ukladat RAW na disk a po restarte si nacitat (ak sa nechces nejako transponovat-parsovat).

    A co riesis pamet, pamet je lacna. Max par 100MB vies v pohode daj VPS s dobrou cenou. A ako budes casto pristupovat k tej pamete (mame swap aj).
    21.12.2018 23:06 __blr__
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Nepsal jsem, že restart nebude nikdy. Ale určitě nepředpokládám update každý měsíc/půlrok.

    Jde o to, že budu alokovat paměť a zase uvolňovat, ale občas si nějaký blok nechám v paměti. Tudíž nutně vzniknou v paměti fragmenty.
    Jendа avatar 21.12.2018 23:22 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    nebo jsou v jádru k dispozici nástroje, které si s tím poradí?
    Co s tím jádro může dělat jiného než případné nepoužívané stránky odswapovat na disk?
    22.12.2018 09:57 Sten
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Jádro nijak fragmentaci paměti neřeší, to si řeší jednotlivé aplikace samy pomocí alokátorů (v C++ to řeší výchozí operátor new).

    Dlouhodobě běžící služby tohle řeší pomocí prefork: hlavní proces pouze udržuje konfiguraci, práci dělají potomci vytvoření přes fork, kteří se po určitém množství práce zabijí. Alternativou je použití vláken a vlastních alokátorů alokujících z anonymního mmap, který se při ukončení vlákna po určitém množství práce uvolní, ale je složité něco takového napsat.
    22.12.2018 14:37 __blr__
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Aha, díky za info.

    V podstatě se též jedná o síťovou aplikaci, taky budu využívat fork, ale potomci musí vydržet po celou běhu programu. Data bych nerad držel u rodiče a přes sdílenou paměť využíval v potomcích kvůli bezpečnosti.

    Defacto mi jde o to, jak přesvědčit alokátor, aby "recykloval" alokovanou paměť.
    Jendа avatar 22.12.2018 20:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    To víceméně dělá; v C jsou věci jako mallopt a malloc_info, které umožňují tohle ladit, doufám, že alokátory v C++ budou mít něco podobného.
    24.12.2018 10:34 __blr__
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    A jak je to s alokací a recyklací polí (lib. typu) ?

    Jinými slovy by mi na to měla odpovědět dokumentace k std::allocator ?
    24.12.2018 20:28 MadCatX | skóre: 28 | blog: dev_urandom
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    C++ žádný vlastní alokátor paměti nemá. std::allocator z libstdc++ alokuje paměť operátorem new, který zavolá Cčkový malloc(). Chování tedy bude záviset na tom, jak je na dané platformě malloc implementován.

    Problém, který řešíš bys neměl vyšetřovat teď ale až potom, co napíšeš a obenchmarkuješ nějaký prototyp. Pokud se ukáže, že výchozí systémový alokátor nestačí, překlopíš to na nějaký jiný.
    24.12.2018 11:25
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    skrytý komentář Náš administrátor shledal tento komentář závadným.

    trolling

    Zobrazit komentář
    24.12.2018 12:56 __blr__
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Jádro aplikace by mělo běžet kromě PC i na embedded Linuxu s relativně nízkým výkonem CPU (spotřeba) a malou RAM.

    V čem se Ti C++ nezdá?
    14.1.2019 15:53 Sulo
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    No ak ti môžem ešte poradiť.

    Fragmentáciu pamäte nevyriešiš nejakými nástrojmi. Je to na programátorovi, aby si to vyriešil, bez ohľadu na jazyk.

    Práve tým, že budeš alokovať a uvoľnovať a držať nejaké prvky alokované, tak tá fragmentácia nastane alebo nie.

    Tak práve pre dlho bežiacu sererovú aplikáciu ( a s maximálnym počtom nejakých prvkov ) by som všetko, čo treba na začiatku programu alokoval a uvoľnil až pri ukončení programu. Presne kvôli fragmentácii pamäti.

    Nejaké pole o veľkosti maximalneho počtu prvkov.

    15.1.2019 22:47 Kojot
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Vzhledem k tomu, že má být maximální počet jednotlivých tříd omezen, tak se dá dopředu alokovat buffery pro jejich maximální počet. Inicializaci pak provádět pomocí placement operatoru new a destrukci přímým voláním destruktoru. Samozřejmě je potřeba si udržovat informaci o volných a inicializovaných pozicích v bufferech pro jednotlivé třídy. Podle mě to ale většinou nemá cenu. Několik démonů běžících 24/7 jsem dělal a neměl jsem zatím problémy s pamětí i s výchozím alokátorem, ale taky to běželo na běžném serveru s dostatkem GB RAM.
    18.1.2019 07:16 frr | skóre: 34
    Rozbalit Rozbalit vše Re: Serverová aplikace C++ - paměť
    Proč mám pocit, že je to řádově menší problém, než cokoli server-side s garbage collectorem?
    [:wq]

    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.