Ubuntu su RPI inizia a uccidere i processi quando la RAM viene riempita dalla cache


0

Sto eseguendo un Raspberry PI con Ubuntu 16.04.1 LTS (GNU / Linux 4.4.0-1042-raspi2 armv7l) e quando es. guarda un video tramite Samba, viene memorizzato nella cache e riempie la mia RAM con i dati memorizzati nella cache.

Questo sarà simile a questo:

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

Quindi, per quanto ne so, non dovrebbe essere una cosa negativa dato che Ubuntu vedrà quella parte di RAM come usata ma disponibile. Quindi, quando un altro processo ne ha effettivamente bisogno, sarà reso disponibile.

Ma quando la cache raggiunge il mio limite di RAM, si verificherà quanto segue:

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

Qualcuno può spiegarmi perché questo accade e come posso evitarlo? Al momento la mia unica soluzione temporanea è di svuotare la cache manualmente:

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

PS: So che non dovrei usare Swap su un RPI con un'unità flash, è stato un test temporaneo per questo problema che non ha aiutato.

Risposte:



0

Ho notato lo stesso problema con la semplice Ubuntu sul mio sistema desktop. Ubuntu 16.04 sembra bloccare in modo specifico la cache e non può essere liberato da echo 3 | sudo tee /proc/sys/vm/drop_caches.

Hai provato a passare ad un altro sapore? Nella mia esperienza, il problema della cache era migliore per es. in Lubuntu, puoi anche provare Xubuntu. Generalmente usano meno memoria.

In generale, per un ambiente con poca memoria come Raspi, si vorrà utilizzare un software speciale, come ad esempio Pixel Desktop .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.