@Dronnikkl
Программист

Вся память постепенно уходит под Cached?

Здравствуйте!

Есть сервер(1GB ОЗУ, AMD ATHLON 64 X2) на нем крутится:

apache 10 клиентов и ~5 раз в день выборки(php) из базы на ~ 4000 строк (длина строки 33 + индексы), mysql,

процесс делающий по 20 инсертов в секунду.


Вся свободная ОЗУ примерно каждые 3 дня уходит под Cached и => процесс делающий инсерты умирает + незватака памяти php скриптам на большие выборки из бд.


Что делать? Что почитать по теории?

[root@CentOS-55-32-minimal ~]# free<br/>
 total used free shared buffers cached<br/>
Mem: 1034164 660876 373288 0 133568 441132<br/>
-/+ buffers/cache: 86176 947988<br/>
Swap: 2102456 0 2102456


[root@CentOS-55-32-minimal ~]# cat /proc/meminfo <br/>
MemTotal: 1034164 kB<br/>
MemFree: 373164 kB<br/>
Buffers: 133572 kB<br/>
Cached: 441220 kB<br/>
SwapCached: 0 kB<br/>
Active: 618896 kB<br/>
Inactive: 9916 kB<br/>
HighTotal: 129984 kB<br/>
HighFree: 256 kB<br/>
LowTotal: 904180 kB<br/>
LowFree: 372908 kB<br/>
SwapTotal: 2102456 kB<br/>
SwapFree: 2102456 kB<br/>
Dirty: 200 kB<br/>
Writeback: 0 kB<br/>
AnonPages: 53992 kB<br/>
Mapped: 23372 kB<br/>
Slab: 20724 kB<br/>
PageTables: 4600 kB<br/>
NFS_Unstable: 0 kB<br/>
Bounce: 0 kB<br/>
CommitLimit: 2619536 kB<br/>
Committed_AS: 269908 kB<br/>
VmallocTotal: 116728 kB<br/>
VmallocUsed: 7756 kB<br/>
VmallocChunk: 108832 kB<br/>
HugePages_Total: 0<br/>
HugePages_Free: 0<br/>
HugePages_Rsvd: 0<br/>
Hugepagesize: 2048 kB



Заранее огромное спасибо!
  • Вопрос задан
  • 19396 просмотров
Пригласить эксперта
Ответы на вопрос 3
Zharskiy
@Zharskiy
так и должно быть, это нормальное поведение ядра:

linuxatemyram.com/

как кэширование влияет на производительность можно прочитать там же:

linuxatemyram.com/play.html
Ответ написан
Комментировать
@Fak3
У вас два гига swap еще свободно — процесс при этом не может умереть от нехватки памяти, это это бага в нем. Иначе бы часть памяти просто скинулась в своп и процесс продолжил бы работать.
Гигантские размеры занятой cached-памяти я наблюдал на всех своих компах, и это не особо мешало производительности.
Ответ написан
@nikoinlove
А вот вам и скрипт для очищения кеша

#!/bin/sh
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы