GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zabránit tomu, aby systém přestal reagovat při mlácení (mimo Ram)?

Mám 8 GB RAM, ale někdy používám několik virtuálních počítačů a dost procesů Chrome na to, aby spotřebovaly většinu paměti. To je obvykle v pořádku, ale někdy se můj systém začne hroutit a je pro mě obtížné se z toho zotavit, aniž bych jen čekal, až se věci zlepší, protože uživatelské rozhraní je většinou zamrzlé.

Ve všech těchto případech mohou být programy využívající většinu mé paměti RAM zbaveny priority. Pokud by Chrome nebo VM přestaly reagovat, ale moje grafické prostředí a terminál byly stále citlivé, mohl bych přepnout na terminál, najít viníka a zabít ho. Dovedl bych si představit něco jako „pěkné“ pro paměť (abych mohl mít Chrome a svůj VM pěkný) nebo něco, co přinutí grafické prostředí a můj terminál zůstat v paměti a nevyměňovat se.

Existuje způsob, jak zajistit, že uživatelské rozhraní bude reagovat, když se můj systém hroutí?

Díky!

EDIT:Pořád mě zajímá, jestli existuje něco jako nice pro paměť, ale právě jsem zjistil, že můj systém nemá žádný odkládací prostor. Myslím, že se to stalo, protože jsem začal používat šifrovanou domácnost a šifrovaný swap (viz Swap nefunguje na čisté instalaci 14.04 pomocí šifrované domácnosti). Můj systém tedy pravděpodobně přestává reagovat, protože nemám žádný odkládací prostor, takže můj systém nemůže vyměnit nepotřebné programy, když má málo paměti.

Přijatá odpověď:

Právě jsem zjistil, že můj systém nemá žádný odkládací prostor

Pokud je to pravda, pak to pravděpodobně přispívá k problému.

Při použití více virtuálních počítačů s velkými alokacemi paměti se množství paměti RAM, které by normálně bylo více než dostačující pro běžné použití (8 GB), začalo snižovat, což znamená, že váš systém nebude moci využívat tolik mezipaměti a bude chtít vyměnit . Nyní, pokud nemáte swap, bude na paměť ještě větší tlak a může se stát, že se úkoly kvůli nedostatku paměti zabijí.

Swap se snaží zlepšit celkovou stabilitu a výkon v situacích, jako je ta, kterou jste popsali, přerozdělením některých alokovaných, ale zřídka používaných dat v paměti na disk, čímž se uvolní paměť pro data, která používáte. Přidání swapu, pokud skutečně žádný nemáte, pomůže. Z hlediska výkonu však dosáhnete mnohem většího zlepšení, pokud si také zakoupíte více paměti RAM nebo ji budete používat méně.

V systému, kde provozujete virtuální počítače, ale také při použití běžného desktopu na hostiteli virtuálního počítače nechcete, aby vaše virtuální počítače zabíraly veškerou vaši RAM, ve skutečnosti bych ušetřil polovinu vaší RAM (až 4 GB) pro hostitele, protože na hostiteli používáte software a chcete, aby byl citlivý.

Všimněte si také, že virtuální počítače mají inherentní neefektivitu nejen proto, že jejich RAM je zcela oddělená, nesdílejí žádnou mezipaměť ani vyrovnávací paměti, ale běží na nich celý samostatný OS pod řadou vrstev abstrakce. Vždy tedy můžete dosáhnout lepší efektivity, pokud se rozhodnete něco spouštět na hostiteli a nikoli na virtuálním počítači – i když pokud je vaším účelem použití virtuálních počítačů používat jiné operační systémy, nebude to možné.

Existuje způsob, jak zajistit, že uživatelské rozhraní bude reagovat, když se můj systém hroutí?

Když je problém s množstvím paměti RAM, co můžete udělat, je pouze hack – skutečným řešením je koupit více paměti RAM (ačkoli ve vašem případě, jak jsem zmínil, můžete být schopni alokovat méně virtuálním počítačům).

Související:Na zařízení nezbývá místo, i když je?

Vaše otázka je položena jednoduše – chcete, aby uživatelské rozhraní mohlo nadále fungovat hladce, i když je IO přetíženo. Na to je však složité odpovědět. Váš systém již bude dělat to podle svých nejlepších schopností:operace, které nevyžadují přístup k disku, nebudou zdržovány. Pokud se vaše uživatelské rozhraní zadrhává, je to proto, že konkrétní proces zodpovědný za toto uživatelské rozhraní potřebuje přístup k disku. V situaci s nedostatkem paměti a tam, kde dochází k drcení disku, může být z důvodu vyčerpání diskové mezipaměti pomalé i něco, co bude normálně triviální – jako je načtení nějaké konfigurace z vašeho domovského adresáře, abyste zjistili, jaké jsou vaše preference zobrazení.

Dovedl bych si představit něco jako „pěkné“ pro paměť (abych mohl mít Chrome a svůj VM pěkný)

Ve skutečnosti neexistuje nic „pěkného pro paměť“. Přístup do paměti je tak rychlý, že jej většinou můžete prakticky ignorovat. Když máte thrashing, není to paměť, ale disk, to je problém. Kvůli tomu existuje „ionice“. I když to pravděpodobně není to, co bych pro váš problém doporučil.

Dalším hrubým ekvivalentem „pěkného pro paměť“ je swap – nemůžete ovládat, jak swapový je každý proces jednotlivě, ale systém odvádí docela dobrou práci při zjišťování, které procesy aktivně používáte, a proto mají vyšší prioritu, kterou je třeba v nich udržovat. RAM.

Ale jak jsem řekl a jak je zlatým pravidlem, pokud vám dochází RAM, pak nákup další RAM je řešením s nejmenšími bolestmi hlavy a nevýhodami.


Ubuntu
  1. Jak opravit problém „nelze vypočítat upgrade“ při upgradu z 12.04 na 12.10?

  2. Jak zjistím specifikaci paměťového čipu RAM z počítače se systémem Linux

  3. Systém zamrzne, když mu dojde paměť

  1. Debian – Jak můžeme předpovědět, kdy vyjde další vydání Debianu?

  2. Linux – systém zamrzne, když mu dojde paměť?

  3. Kolik RAM používá jádro?

  1. Jak zabránit `ls` v třídění výstupu?

  2. Jak zabránit tomu, aby Windows 10 pokaždé poškodil Ext4 Superblock?

  3. Jak opravit instalaci?