Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| řešení_problémů:paměť [2012/07/28 07:44] – vytvořeno ubuntu | řešení_problémů:paměť [2019/02/25 17:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| + | ====== Řešení problémů/ | ||
| + | {{: | ||
| + | Zde najdete **obecné** rady pro případ, že řešíte problémy s pamětí. | ||
| + | |||
| + | ====== Diagnostika ====== | ||
| + | |||
| + | ===== Kolik mám volné paměti? ===== | ||
| + | |||
| + | Spusťte [[: | ||
| + | |||
| + | {{ .: | ||
| + | |||
| + | |||
| + | Nebo použijte v [[: | ||
| + | < | ||
| + | ~ $ free -m | ||
| + | | ||
| + | Mem: 2509 | ||
| + | -/+ buffers/ | ||
| + | Swap: | ||
| + | </ | ||
| + | | | ||
| + | |Celkem|2509 MB|1051 MB| | ||
| + | |Obsazeno|247 MB|0 MB| | ||
| + | |Volno|2262 MB|1051 MB| | ||
| + | |||
| + | Systém vykazuje pouze 9,9% využití RAM, 1150 MB je využito pro vyrovnávací paměť (// | ||
| + | Swap není využit, což ukazuje na dostatečnou kapacitu RAM. | ||
| + | |||
| + | ===== Který proces mi zabírá nejvíc paměti? ===== | ||
| + | |||
| + | Spusťte [[: | ||
| + | |||
| + | {{ .: | ||
| + | |||
| + | |||
| + | Nebo použijte v [[Terminál]]u příkaz **top**; pak zmáčkněte < | ||
| + | |||
| + | {{ .:top.png }} | ||
| + | |||
| + | Nebo pro jednoduchý výpis bez aktualizace **ps -eo rss,args | sort -rn | head** (výpis "RAM top ten") | ||
| + | < | ||
| + | ~ $ ps -eo rss,args | sort -rn | head | ||
| + | 168744 / | ||
| + | 30208 / | ||
| + | 26172 compiz | ||
| + | 24340 nautilus | ||
| + | 20896 / | ||
| + | 18936 python / | ||
| + | 18128 /usr/bin/X :0 -nr -verbose -auth / | ||
| + | 16696 gnome-panel | ||
| + | 15508 / | ||
| + | 13796 / | ||
| + | </ | ||
| + | ====== Řešení ====== | ||
| + | |||
| + | ===== Linux mi žere strašně moc RAM! ===== | ||
| + | |||
| + | * Zkontrolujte výstup z '' | ||
| + | * Pokud ve výpise procesů vidíte, že některý neúměrně zabírá RAM (řádově stovky MB), může se jednat o chybu v programu (//memory leak//). Zkuste jinou verzi programu nebo jiný podobný, případně chybu nahlašte. | ||
| + | |||
| + | ===== Zeptejte se na fóru Ubuntu ===== | ||
| + | {{: | ||
| + | Snažte se uvést co nejvíce informací, hlavně | ||
| + | * podrobný popis problému a přesný přepis chybového hlášení (případně snímek obrazovky, třeba i z foťáku) | ||
| + | * co jste všechno už zkoušeli při řešení problému | ||
| + | * informace k systému (hardware, distribuce, vydání) | ||
| + | * přidejte výstupy z příkazů '' | ||
| + | * případně připojte další relevantní logy (pokud jsou dlouhé, tak radši jako přílohu, nebo je nahrajte na [[http:// | ||
| + | |||
| + | * ... a pokud se vám podaří problém nakonec vyřešit, nezapomeňte se pak na fóru pochlubit jak... | ||
| + | |||
| + | ====== Technické detaily ====== | ||
| + | |||
| + | ===== Kolik RAM mám skutečně k dispozici? ===== | ||
| + | Kapacita RAM modulů nemusí odpovídat údaji o volné paměti ve výstupu '' | ||
| + | < | ||
| + | dmesg | grep -iw memory | ||
| + | </ | ||
| + | < | ||
| + | ... | ||
| + | [ 0.000000] Memory: 2554056k/ | ||
| + | ... | ||
| + | [ 0.746013] Freeing initrd memory: 14896k freed | ||
| + | [ 1.316731] Freeing unused kernel memory: 688k freed | ||
| + | </ | ||
| + | |||
| + | 57908k je rezervováno pro kernel a obsluhu paměti, z toho 4940k pro kód, 2333K pro různá data, 14896k bylo po zavedení systému uvolněno. Zbývá tedy 2554056k RAM. | ||
| + | |||
| + | Výpočet může vycházet pro různé systémy různě, ale vždy je třeba počítat se zabranou pamětí pro kernel a režii. Také pokud se velikost modulů RAM blíží 4GB na 32 bitovém systému, je potřeba počítat s ukrojením větší části paměti na mapování grafické paměti, I/O apod. | ||
| + | |||
| + | ===== Co znamená VIRT, RSS/RES, SHR? ===== | ||
| + | |||
| + | **VIRT** (//virtual size//) - celková velikost namapované paměti - kód, data, sdílené knihovny, paměť vyžádaná programem k použití. Maximální velikost paměti, kterou může momentálně proces použít. | ||
| + | |||
| + | **RES** (//resident size//) - paměť skutečně využitá procesem. Pokud si proces vyžádá 100M paměti, ale skutečně použije jen 1M, stoupne RES o 1M. Nezahrnuje ale část paměti ve //swap//u, a může obsahovat sdílenou paměť. | ||
| + | |||
| + | **SHR** (// | ||
| + | |||
| + | Nejvíce vypovídající hodnotou je asi RSS/RES, ale i ta je těžko izolovatelná pro konkrétní proces. | ||
| + | |||
| + | ===== Jak zjistím údaje k RAM? ===== | ||
| + | |||
| + | Použijte údaje z DMI ('' | ||
| + | < | ||
| + | sudo dmidecode -t memory | ||
| + | </ | ||
| + | sudo lshw -c memory | ||
| + | </ | ||
| + | sudo -s | ||
| + | apt-get install i2c-tools | ||
| + | modprobe eeprom | ||
| + | decode-dimms | ||
| + | </ | ||