Voglio forzare il kernel Linux ad allocare più memoria alle applicazioni dopo che la cache inizia a occupare troppa memoria (come si può vedere dall'output di 'free').Come pulire le cache utilizzate dal kernel Linux
Ho eseguito
sudo sync; sudo sysctl -w vm.drop_caches=3; free
(per liberare sia dentry disco cache/inode e cache di pagina) e vedo che solo circa la metà della cache utilizzata è stata liberata - il resto rimane. Come posso sapere cosa sta occupando il resto del cache e forzarlo a essere liberato?
La chache che rimane è solo una cache che viene gettata via immediatamente quando è necessaria nuova memoria. Non è utile forzare la rimozione di queste regioni della cache. Le applicazioni saranno sempre i primi cittadini per la memoria e non dovranno lottare con la cache per questo. – ypnos
Ho un problema con il mio server e credo che qualcosa stia abusando della cache fino al punto in cui le applicazioni vengono relegate alle pagine scambiate e si stanno affliggendo a causa della mancanza di memoria. Potrebbe essere un problema del kernel che potrebbe non essere. L'eliminazione della cache potrebbe essere un buon modo per testare. – Guss
il tuo 'sysctrl' deve essere 'sysctl' – raittes