GNU/Linux >> Znalost Linux >  >> Linux

Jak vyčistit mezipaměti používané linuxovým jádrem

Odpověď Johna Nilssona na mou otázku může být užitečná pro vyčištění mezipaměti, abyste mohli otestovat, zda to souvisí s vaším problémem:

sync && echo 1 > /proc/sys/vm/drop_caches

I když hádám, že jediný skutečný rozdíl je 1 vs 3


Obsah /proc/meminfo říct, k čemu jádro používá RAM.

Můžete použít /proc/sys/vm/vfs_cache_pressure donutit jádro, aby znovu získalo paměť, která se používá pro cache související se souborovým systémem, líněji nebo dychtivěji.

Všimněte si, že vaše aplikace může mít prospěch z vyladění tohoto parametru pouze tehdy, pokud provádí malý nebo žádný diskový vstup/výstup.


Možná budete chtít zvýšit vfs_cache_pressure a také nastavte swappiness0 .

Díky tomu bude jádro obnovovat mezipaměť rychlejší a zároveň bude procesům při rozhodování o tom, co bude stránkováno, stejnou nebo větší zvýhodnění.

Můžete pouze chcete to udělat, pokud procesy, na kterých vám záleží, provádějí velmi málo diskových I/O.

Pokud se síťový I/O vázaný proces musí zaměnit, aby obsluhoval požadavky, je to problém a skutečným řešením je umístit jej na méně konkurenceschopný server.

S výchozím swappiness nastavení, jádro téměř vždy upřednostňuje udržování mezipaměti související s FS ve skutečné paměti.

Pokud tedy zvýšíte tlak mezipaměti, nezapomeňte rovnoměrně upravit swappiness .


Linux
  1. Životní cyklus testování linuxového jádra

  2. Linux:Jak najít ovladač zařízení používaný pro zařízení?

  3. Jak linuxové jádro určuje pořadí volání __init?

  1. Jak se Linux dostal k sálovému počítači

  2. Jak vyčistit adresář /boot na LINUX Mint?

  3. Jak mohu rezervovat blok paměti z jádra Linuxu?

  1. Jak vymazat mezipaměť v Linuxu

  2. Jak upgradovat jádro na ploše Linuxu

  3. Linux – Jak najít implementace systémových volání jádra Linuxu?