Мой ноутбук - Thinkpad x220, 4G RAM, жесткий диск - 7200 об / мин, установлен с Ubuntu 12.04, используя рабочий стол Unity.
Когда я открываю затмение и хром, они съедают около 2G памяти. Вот free -m
результат:
total used free shared buffers cached
Mem: 3841 3301 540 0 10 956
-/+ buffers/cache: 2334 1507
Swap: 8187 306 7881
И top
результат:
Mem: 3934188k total, 3540508k used, 393680k free, 45680k buffers
Swap: 8384508k total, 313512k used, 8070996k free, 1078888k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5552 martin 20 0 4249m 388m 6560 S 0 10.1 2:46.28 java
3369 martin 20 0 2548m 182m 32m R 1 4.7 29:19.64 chrome
3406 martin 20 0 1000m 155m 16m S 0 4.1 4:18.97 chrome
2736 martin 20 0 1582m 106m 29m S 1 2.8 13:10.27 compiz
3704 martin 20 0 945m 85m 8396 S 0 2.2 0:15.60 chrome
11047 martin 20 0 926m 82m 23m S 0 2.2 0:06.52 chrome
11443 martin 20 0 915m 72m 21m S 0 1.9 0:46.08 chrome
4280 martin 20 0 822m 66m 12m S 4 1.7 14:59.41 chrome
Через некоторое время, около 10 минут, у меня доступно только 100M+ памяти, затем система начинает подменять память на диск, что приводит к полной остановке компьютера и восстанавливается после завершения подкачки.
У меня уже есть vm.swappiness = 10
Я искал в Google, и в какой-то статье говорилось, что когда памяти недостаточно, система освобождает кэш и использует его в качестве памяти. Но мне кажется, что кеш никогда не освобождается. Когда системе не хватает памяти (но на самом деле у меня достаточно памяти, некоторая память просто используется для кеширования), она не будет использовать кеш, вместо этого она подменяет память непосредственно на диск, что вызывает зависание.
Как я могу избежать этого?
Уменьшение кешируемой памяти?