При запуске top
я получаю:
top - 09:10:52 up 18:37, 1 user, load average: 1.56, 1.33, 1.15
Tasks: 39 total, 1 running, 38 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.6%sy, 1.0%ni, 92.5%id, 5.8%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4194304k total, 3045460k used, 1148844k free, 0k buffers
Swap: 0k total, 0k used, 0k free, 2256128k cached
Смотрите часть: 2256128k кешируется? Что именно это значит?
Я сравниваю два VPS от двух провайдеров, этот всегда имеет большой объем (70% используемой памяти), а другой провайдер VPS всегда показывает 0.
ядро Linux будет использовать доступную память для кэширования диска, если это не требуется для работающей программы.
Это считается хорошим; скажем, у вас 4 ГБ ОЗУ, а ваши программы используют только 1 ГБ. Остальные 3 ГБ будут потрачены впустую. Несмотря на то, что вы чувствуете себя хорошо, зная, что используете только 25% своей памяти, аналогичным образом остается то, что остальные 75% не используются. Таким образом, ядро использует это для кэширования файлов, что значительно повышает производительность. Это автоматически; в отличие от старых операционных систем, вам не нужно решать, сколько выделять кешу на диске, или настраивать его вручную.
«Дисковый кеш Linux очень ненавязчив. Он использует запасную память для значительного увеличения скорости доступа к диску и не отнимает память у приложений. Полностью используемый накопитель памяти в Linux - эффективное использование оборудования, а не предупреждающий знак».
Это настолько распространенный вопрос, что этому посвящен целый сайт:
http://www.linuxatemyram.com
На сайте даже есть способ очистить кеш диска, чтобы вы могли запустить некоторые приложения и посмотреть, насколько быстрее они работают с включенным кешем :)
источник