Я использую Raspberry PI с Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-1042-raspi2 armv7l) и когда я, например. Посмотрите видео через Samba, оно кэшируется и заполняет мою память кэшированными данными.

Это будет выглядеть так:

user@rpi:~$ free -h -m
              total        used        free      shared  buff/cache   available
Mem:           920M         57M        133M        980K        729M        828M
Swap:          1.8G         29M        1.8G

Так что, насколько я понимаю, это не должно быть плохо, так как Ubuntu увидит эту часть ОЗУ как использованную, но доступную. Поэтому, когда это действительно понадобится другому процессу, оно будет доступно.

Но когда кэш достигнет предела моей оперативной памяти, произойдет следующее:

Feb  8 19:08:36 rpi kernel: [160789.617128] Out of memory: Kill process 29171 (myprocess) score 40 or sacrifice child
Feb  8 19:06:08 rpi kernel: [160641.803753] Killed process 29072 (myprocess) total-vm:170312kB, anon-rss:63196kB, file-rss:43628kB

Может кто-нибудь объяснить мне, почему это происходит и как я могу избежать этого? Сейчас мое единственное временное решение - очистить кеш вручную:

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

PS: я знаю, что я не должен использовать Swap на RPI с флешкой, это был временный тест для этой проблемы, который не помог.

2 ответа2

0

Я заметил ту же проблему с простым Ubuntu на моей настольной системе. Ubuntu 16.04, похоже, специально блокирует кеш, и его нельзя освободить с помощью echo 3 | sudo tee /proc/sys/vm/drop_caches .

Вы пробовали перейти на другой вкус? По моему опыту, проблема с кешем была лучше, например, в Lubuntu, вы также можете попробовать Xubuntu. Они обычно используют меньше памяти.

В целом, для среды с низким объемом памяти, такой как Raspi, вам нужно использовать специальное программное обеспечение, такое как Pixel Desktop.

0

У вас много свободной оперативной памяти. Кеш не будет мешать тому, как Linux откажется от него по мере необходимости. Вы, скорее всего, видите эту ошибку, попробуйте понизить ядро до более ранней версии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .