Мой ноутбук - 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, и в какой-то статье говорилось, что когда памяти недостаточно, система освобождает кэш и использует его в качестве памяти. Но мне кажется, что кеш никогда не освобождается. Когда системе не хватает памяти ( но на самом деле у меня достаточно памяти, часть памяти просто используется для кеширования ), она не будет использовать кеш, вместо этого она подкачает память непосредственно на диск, что приведет к зависанию.
Как я могу избежать этого?
Уменьшение кешируемой памяти?
Eclipse, MySQL Server, 4 tabs in Chrome, Skype and Tomcat with GWT application
остается только около 300 МБ при запускеfree -m
. Когда я начинаю перестраивать приложение GWT (это занимает до 1 ГБ ОЗУ, когда достаточно ОЗУ), система зависает (мышь не двигается и т. Д.) И не восстанавливается - мне просто нужно перезагрузить ноутбук. Однако, когда я освобождаю достаточно оперативной памяти, восстановление приложения GWT проходит нормально. @ Дэвид, не могли бы вы посоветовать, как я могу исследовать проблему? Заранее спасибоОтветы:
Если вам нужно больше свободной памяти, вы можете получить ее, установив
vm.min_free_kbytes
. Например, если вы хотите, чтобы система тратила 256 МБ памяти, используйте эту команду:Теперь система будет свободна на 256 МБ и будет иметь на 256 МБ меньше памяти для работы. Это ухудшит производительность, но уменьшит кэш, как вы и просили.
Но я думаю, что вы упускаете важный момент - свободная память не лучше, чем память, которая вообще не установлена в компьютере. Ни один из них не помогает компьютеру работать лучше.
Вы должны восстановить все настройки по умолчанию и работать над вашей реальной проблемой - то, что ваш компьютер зависает.
источник