Stahování naplní RAM, následuje BSOD



Dobrý den,vyměnil jsem v počítači hard disk za nový a snažil jsem se na něj opět stáhnout alespoň část své Steam kolekce. Bohužel pravidelně při stahování se mi konstantně zaplňuje RAMka a ani při ukončení Steamu či dokončení stahování již do nového restartu počítače neklesne. Jako by se automaticky část stažených dat ukládala v operační paměti. Pokud stahuji hodně velké soubory (>25GB), operační paměť se zaplní úplně a následuje BSOD. Používám Windows 7, zákl. deska MSI Z77A.G43, paměti Kingston HyperX Fury 8GB.Odkaz na chybovou zprávu:<http://leteckaposta.cz/964978904>
Skontroluj premenné prostredia "tmp", "temp", či majú plné prístupové práva, users, system, trustedinstaller, administrators.Pri sťahovaní dát (ak nie je výrobcom SW určené inak), sa ukladá vo väčšine záložný súbor do zložky; C:\Users\users\AppData\Local\Temp\*.*Aktivuj swap (pagefile) aspoň na 512MB alebo nastav na max. 4096MB.
<p>pro postgresql může být výkon procesoru velmi důležitý, zejména pokud do paměti ram zapadá poměrně vysoké procento aktivní pracovní sady vašich dat. většina databází, se kterými jsem pracoval, měla většinu času cpu jako hlavní překážku. (právě jsem zkontroloval vmstat na serveru hostujícím webové stránky s miliony přístupů denně, které hostovaly více než 5 tb databázového prostoru, a nikdy jsem neviděl více než 2% času čekání na disk, ale viděl jsem vrchol 12% času cpu uživatele.)</p><p>protože postgresql je založeno na procesech, každý jednotlivý proces může běžet jen tak rychle jako jedno jádro, ale ve směsi, jako máme na výše uvedeném serveru, s velkým objemem malých požadavků, je nejdůležitější celkový procesor ve všech jádrech. při stejném celkovém výkonu procesoru bude postgresql obecně pracovat lépe s menším počtem rychlejších jader než s mnoha pomalejšími jádry.</p><p>až do mezipaměti vysokého procenta aktivní sady dat je přidání ram obvykle pro buck zobrazí větší třesk než přidání jader. po dostatečném ukládání do mezipaměti je výhodou další ram klesá a máte lepší podporu při zvyšování výkonu procesoru).</p><p>pro více informací o tomto tématu, které se týká postgresql, si nemyslím, že existuje lepší zdroj než <a href="http://www.postgresql.org/docs/books/"><em> postgresql 9.0 vysoký výkon</em></a> od <strong> greg smith </strong>. (úplné zveřejnění, byl jsem technickým recenzentem knihy, ale nezískávám na základě prodeje žádné finanční výhody.)</p> Príčin může být spousta a zrejme to nebude mit souvislost z Duolingem. Zkuste se poptat nekde na forech, kde se resi hardwarove zalezitosti. <p>máte dobrý popis toho, jak smart pracuje na <a href="http://en.wikipedia.org/wiki/s.m.a.r.t.">wikipedia</a> . ale rychlé úvod:</p><ul> <li> <p>hodnota: jedná se o hrubou hodnotu, kterou hlásí řadič. obvykle je to snadno srozumitelná hodnota (jako je napájení v hodinách nebo teplota), ale někdy tomu tak není (jako četnost chyb při čtení). různí výrobci mohou pro tato data použít různé struktury a významy.</p> </li> <li> <p>normalized: toto je výše uvedená normalizovaná hodnota, takže vyšší hodnota je vždy lepší. míra čtení/chyb 114 je tedy lepší než 113. opět platí, že váš pevný disk převádí nezpracovaná data na normalizovanou hodnotu.</p> </li> <li> <p>nejhorší: nejhorší <em> normalizovaná </em> hodnota, kterou měl váš disk v minulosti (kde 99 je pravděpodobně tovární nastavení).</p> </li> <li> <p>prahová hodnota: když je <em> normalizovaná </em> hodnota <em> nižší </em> než tato hodnota, jednotka je pravděpodobně selže.</p> </li> </ul><p>zdá se tedy, že váš pevný disk je v pořádku. hodnota četnosti chyb při čtení není časem selhání jednotky, ale některé strukturou dat, která závisí na výrobci disku.</p> > 
> Kdo ovládá výchozí velikost maximální zásobníku; OS nebo kompilátor?
> 
> 
> 


Překladač obvykle. OS / hardware, omezuje jej do určité míry. Výchozí hodnota je 8 MB. Na linux IIRC. Myslete na `ulimit -s`systému Linux (pro změnu velikosti zásobníku).



> 
> Je výchozí maximální poměru k celkové paměti? (Tj stroj s 2GB paměti by mít větší velikost než výchozí stroji s pouze 512) V tomto příkladu oba stroje jsou stejné nastavení os / překladač, jen různá množství systémové paměti RAM.
> 
> 
> 


Ne. Dokud a pokud to uděláte yiurself.You může změnit velikost zásobníku přes kompilátor přepínače.



```
ld --stack=<STACK_SIZE>

```

nebo 



```
gcc -Wl,--stack=<STACK_SIZE>

```


> 
> Vezměte si Standard C ++ o problematice komínů a hromady:
> 
> 
> 


Norma je založena na abstraktním stroji a opravdu není sama o sobě tím hardwarem nebo komíny nebo hromad. To mluví o přidělené obchodu a volného obchodu. Volný obchod je místo, kde byste se, pokud voláte nový (většinou). FWIW, implementace může mít pouze jeden paměťový prostor maskující se jako oba zásobníku a haldy, pokud jde o námitky alokaci.


Váš dotaz, omáčky, scvrkává být specifický problém implementace spíše než záležitost jazyka. 


Snad to pomůže. <p>nedávno jsem měl něco podobného s tabulkou 3,5 milionu řádků. moje aktualizace by nikdy nedokončila. po mnoha experimentech a frustrace jsem konečně našel viníka. ukázalo se, že se jedná o indexy v aktualizované tabulce.</p><p>řešením bylo zrušit všechny indexy v aktualizované tabulce před spuštěním příkazu aktualizace. jakmile jsem to udělal, aktualizace skončila za pár minut. po dokončení aktualizace jsem znovu vytvořil indexy a vrátil se zpět do práce. pravděpodobně vám to v tuto chvíli nepomůže, ale možná někdo, kdo hledá odpovědi.</p><p>nechal bych indexy na stole, ze kterého stahujete data. ten nebude muset nadále aktualizovat žádné indexy a měl by pomoci s hledáním dat, která chcete aktualizovat. na pomalém notebooku to fungovalo dobře.</p> Ho přeinstaluj, molh se poškodit nějaký důležitý soubor, popřípadě nějaká nová aktualizace. Která se nestáhla, nebo stáhla ale chybně (např přerušením netu)

Na metina se vykšli, raději někde sosni WOW ![:)]( ":)") je to w podstatě to samé ale o 200% lepší ![:)]( ":)") běžná závada grafiky (integrované) nebo základové desky - oprava dražší než koupě nového ... máte-li v záruce, reklamujte. Nemáte-li, vyjměte si HDD a prodejte na ND. Zálohujte si věci jinam, formátujte pomalým formátem nebo přepište ve skartovacím programu (pokud nechcete, aby někdo časem zneužil uložená data) a reklamujte. Zřejmě nějaká mechanická závada ... nezlepší se to <p><code>hi</code> je čas strávený přerušením zpracování hardwaru. hardwarová přerušení jsou generována hardwarovými zařízeními (síťové karty, řadič klávesnice, externí časovač, hardwarové senzory, ...), když potřebují něco signalizovat do procesoru (například data dorazila).</p><p>protože k tomu může dojít velmi často a protože v podstatě blokují aktuální cpu, zatímco jsou spuštěny, jsou popisovače hardwarového přerušení jádra psány tak rychle, jak je to jen možné.</p><p>pokud je třeba provést dlouhé nebo složité zpracování, jsou tyto úkoly odloženy pomocí mechanického volání <code>softirqs</code>. jsou naplánovány nezávisle, mohou běžet na jakémkoli cpu, mohou běžet souběžně (nic z toho neplatí pro popisovače přerušení hardwaru).</p><p><sub>část o tvrdých irq blokujících aktuální procesor a část o tom, že <code>softirqs</code> budou moci běžet kdekoli, nejsou úplně správné, mohou existovat omezení a některé tvrdé irq mohou přerušit jiné.</sub></p><p>jako příklad lze uvést, že hardwarové přerušení ze síťové karty „přijatá data“ by mohlo jednoduše uložit informace „karta ethx musí být obsluhována“ a naplánovat <code>softirq</code>. <code>softirq</code> by byla věc, která spouští skutečné směrování paketů.</p><p><code>si</code> představuje čas strávený v těchto <code>softirqs</code>.</p><p>dobré čtení o mechanismu <code>softirq</code> (s trochou historie) je také <a href="https://www.cs.unca.edu/brock/classes/spring2013/csci331/notes/paper-1130.pdf">dělám to později: softirqs, tasklets, dolní poloviny, fronty úkolů, pracovní fronty a časovače</a> = (pdf, 64 kb).</p><p><code>st</code>, „ukrást čas“, je relevantní pouze ve virtualizovaných prostředích. představuje čas, kdy skutečný procesor nebyl k dispozici aktuálnímu virtuálnímu počítači - byl „odcizen“ z toho vm) hypervizorem (buď pro spuštění jiného vm, nebo pro vlastní potřeby).</p><p>dokument <a href="https://www.ibm.com/developerworks/linux/linux390/perf/tuning\_cputimes.html">cpu time accounting</a> od ibm obsahuje více informací o krádeži času a účetnictví cpu ve virtualizovaných prostředích. (zaměřuje se na hardware typu zseries, ale obecná myšlenka je stejná pro většinu platforem.)</p> <p>zatímco smršťování je skutečně nebezpečné z důvodů uvedených zde. mezi jimboho odpovědí a johnovou odpovědí existuje šťastné médium ... vždy byste měli vážně zvážit, zda chcete databázi zmenšit či nikoli.</p><p>v ideálním světě - vytvořili byste svou databázi se spoustou volného místa, do kterého byste se mohli rozrůst. tuto databázi nazývám „správná velikost“. umožnili byste, aby byl tento volný prostor k dispozici, a nesnažte se jej vrátit a udržet svou celkovou velikost přímo na použité velikosti. proč? protože vaše databáze nakonec poroste znovu. pak se znovu zmenšíte .. a budete uvíznuti v tomto strašném vzoru zbytečných smršťování následovaných růsty - a celou dobu, jak několik poukázalo, budete zvýšení fragmentace indexu.</p><p>blogoval jsem o tom, kde jsem napomenul lidi na " <a href="http://www.straightpathsql.com/archives/2009/01/dont-touch-that-shrink-button/">nedotýkejte se toho zmenšovacího tlačítka!</a> ", ale někdy ... někdy musíte. pokud máte rozsáhlou databázi, právě jste uvolnili významný prostor a neočekáváte, že se do ní někdy vrátí - dobře, pak je v pořádku zvážit zmenšení jako jednorázovou operaci, pokud se budete moci postarat o fragmentaci vašeho indexu později přestavbou jim. operace smršťování může být časově náročná, takže byste ji měli naplánovat na dobu, kdy můžete zaplatit tuto cenu běžícího smršťování. postup vytváření prázdné db a kopírování dat do něj funguje - ale to se může stát velmi obtížným u větších databází a mnoha dat.</p><p>pokud plánujete přidat tento prostor zpět do db pomocí běžného využití a růstových vzorců do budoucna, pak možná budete chtít místo ponechat.</p><p><strong> také </strong> řekli jste, že jste „vymazali“ svůj protokol transakcí. byl bych zvědavý, jak jste to udělali, ale když čtete příspěvek, který jsem sdílel, a ostatní v řadě uvidíte několik tipů na správu protokolu transakcí. ale zkrátka - pokud jste v režimu úplného zotavení, měli byste brát pravidelné zálohy protokolu, abyste si udrželi opakované použití protokolu. v opačném případě - bez záloh protokolu v režimu full - soubor protokolu neustále roste a roste a roste a vždy ukládá to, co jste udělali, protože jste řekli sql, že nechcete jen udržovat tento protokol pro zotavení po havárii, ale chcete zachovat jeho ruční zálohování pro přehrání transakcí/vrácení transakcí pro obnovení do určitého bodu v čase pro účely obnovy ... pokud jste v jednoduchosti a vidíte, jak se protokol rozrůstá, může to být znak (obvykle), že děláte lot práce v jedné transakci (ať už jste řekli <code>begin tran ... do work.... commit tran</code> nebo zda jste právě vydali jeden velký příkaz <code>delete</code> a odstranili jste celou nepořádek dat v jedné implicitní transakci.)</p><p>předpokládám také, že hledáte toto volné místo ve vašem systému souborů. pokud to hledáte v rámci sql a v tak velkém souboru, který máte - mohlo by to být tak, že čekáte na vyčištění ducha, aby se dokončilo, pokud se budete dívat ihned po operaci. <a href="http://www.sqlskills.com/blogs/paul/post/inside-the-storage-engine-ghost-cleanup-in-depth.aspx">paul randal blogy o ghost cleanup</a> .</p>