GNU/Linux >> Znalost Linux >  >> Linux

Program Python zabírá RAM

Většina vaší paměti RAM je volná pro aplikace, protože se používá pro vyrovnávací paměti a mezipaměť. Podívejte se na řádek "-/+ buffers/cache:" a uvidíte velikost paměti RAM, která je skutečně použité/zdarma. Vysvětlení naleznete zde.

Chcete-li ověřit, zda Python uniká paměť, sledujte v průběhu času velikost RSS tohoto pythonu (nebo % mem). Např. napište shell-script, který je volán z úlohy cron každých pár hodin, aby se připojil výstup vašeho ps příkazový řetězec a výstup free příkaz do souboru.

Pokud zjistíte, že procesy Pythonu jsou únik paměti existuje několik věcí, které můžete udělat;

  • Upravte svůj skript tak, aby existoval po 24 hodinách a použijte např. úloha cron pro jeho restartování (snadná cesta ven.)
  • Podívejte se do hloubky na samotný Python a zejména na rozšiřující moduly, které používáte. Použijte gc modul pro sledování a ovlivňování využití paměti. Můžete např. zavolejte gc.count() pravidelně sledovat množství předmětů označených ke sběru. Můžete zavolat na číslo gc.collect() explicitně a zjistěte, zda to snižuje využití paměti. Můžete také upravit práh kolekce.

Pokud se využití paměti RAM Pythonu v průběhu času nezvýší, může to být další program démona. Skript pro záznam paměti, který jsem zmínil výše, by vám měl říct, který to je.

Může existovat také jiný důvod, proč váš počítač zamrzne. Podívejte se na linuxové logfile pro vodítka.

Upravit: Protože máte wpa_supplicant po vyplnění souboru protokolu byste měli zkontrolovat stav souborového systému (systémů). Plný souborový systém může způsobit zablokování systému. Pokud bezdrátové rozhraní nepoužíváte, vypněte jej.


Linux
  1. Co používám na linuxu k vytvoření spustitelného programu python

  2. Rozložení paměti programu v linuxu

  3. Získejte celkovou fyzickou paměť v Pythonu

  1. Jak zobrazit rozložení paměti mého programu v C za běhu?

  2. Vynutit vyprázdnění výstupní vyrovnávací paměti v běžícím programu

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

  1. Jak zkontrolovat velikost RAM v příkazovém řádku Linuxu v GB

  2. Měření využití Ram programu?

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