У меня есть ноутбук Dell Precision M4500 с 4 ГБ оперативной памяти и Ubuntu 12.04 64-битная с 8 ГБ подменной памяти. После запуска обычной среды разработки Java (Eclipse, MySQL Server, SQuirreL, несколько вкладок в Chrome, Skype и Tomcat с относительно небольшим веб-приложением GWT, развернутым в devmode) остается около 100 МБ свободной памяти (выводится free -m
):
total used free shared buffers cached
Mem: 3944 3812 131 0 35 579
-/+ buffers/cache: 3197 746
Swap: 8787 422 8365
Ходовая top
упорядоченная по памяти RES, показывает следующее:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16509 yura 20 0 2540m 593m 13m S 0 15.1 1:45.25 java
10727 yura 20 0 5290m 441m 20m S 0 11.2 11:16.87 java
15886 yura 20 0 4324m 365m 10m S 0 9.3 2:37.32 java
19666 yura 20 0 3030m 292m 29m S 0 7.4 0:12.25 java
4363 root 20 0 307m 180m 44m S 5 4.6 72:57.08 Xorg
4905 yura 20 0 557m 162m 28m S 3 4.1 39:02.73 skype
2403 mysql 20 0 1531m 151m 3296 S 0 3.8 2:06.37 mysqld
5717 yura 20 0 974m 133m 26m S 1 3.4 18:14.44 chrome
11957 yura 20 0 978m 106m 14m S 0 2.7 1:04.37 chrome
5771 yura 20 0 994m 96m 20m S 0 2.5 5:20.52 chrome
18599 yura 30 10 650m 91m 51m S 0 2.3 0:04.78 update-manager
5980 yura 20 0 1285m 68m 9.9m S 3 1.7 21:16.95 chrome
19600 yura 20 0 919m 58m 21m S 0 1.5 0:02.08 chrome
19608 yura 20 0 914m 54m 21m S 0 1.4 0:12.11 chrome
16546 yura 20 0 916m 53m 20m S 0 1.4 0:34.79 chrome
16654 yura 20 0 930m 50m 21m S 0 1.3 0:01.61 chrome
4597 yura 20 0 1083m 48m 20m S 2 1.2 6:53.28 unity-2d-shell
5922 yura 20 0 443m 45m 25m S 0 1.2 1:00.64 chrome
8501 yura 20 0 631m 42m 16m S 0 1.1 0:08.44 unity-2d-spread
5820 yura 20 0 909m 34m 12m S 0 0.9 0:02.54 chrome
5762 yura 20 0 903m 33m 10m S 0 0.9 0:07.36 chrome
5889 yura 20 0 336m 28m 5124 S 0 0.7 1:56.02 chrome
4688 yura 20 0 327m 27m 5124 S 0 0.7 8:21.67 gnome-screensav
4617 yura 20 0 954m 24m 6728 S 0 0.6 0:12.13 nautilus
4743 yura 20 0 523m 22m 7408 S 1 0.6 6:41.10 unity-panel-ser
4895 yura 20 0 478m 18m 5300 S 0 0.5 0:03.86 webilder_unity_
5927 yura 20 0 323m 15m 380 S 0 0.4 0:00.00 chrome
4596 yura 20 0 634m 15m 9076 S 0 0.4 18:49.60 unity-2d-panel
4624 yura 20 0 544m 12m 7208 S 1 0.3 0:06.38 python
5727 yura 20 0 315m 12m 2788 S 0 0.3 0:00.26 chrome
4575 yura 20 0 905m 12m 6768 S 0 0.3 0:19.45 gnome-settings-
4613 yura 20 0 493m 10m 6156 S 0 0.3 0:15.71 nm-applet
5732 yura 20 0 331m 10m 592 S 0 0.3 0:00.26 chrome
4819 yura 20 0 358m 10m 2328 S 0 0.3 0:00.52 unity-lens-vide
4876 yura 20 0 540m 9636 4420 S 0 0.2 0:02.83 unity-scope-vid
Теперь наличие 100 МБ свободной памяти для меня вполне нормально, так как все работает хорошо.
Проблема возникает, когда я запускаю mvn clean install
которая просто начинает сборку приложения GWT: если я оставляю около 800 МБ свободной памяти, закрывая некоторые вкладки Chrome, SQuirreL и GWT webapp, работающие в devmode, mvn clean install
работает нормально, хотя и использует почти все из этого бесплатно 800 МБ, а затем освобождая его.
Но если я не закрою упомянутые приложения (вкладки Chrome, SQuirrel, оставив приложение GWT запущенным в devmode), таким образом имея около 100 МБ свободной памяти, вся система Ubuntu просто зависает в процессе сборки. Я пытался подождать несколько минут, но ничего не изменилось.
Может кто-нибудь посоветовать, что может привести к зависанию всей системы Ubuntu? Это может быть легко воспроизведено, поэтому я могу выполнить любую команду или проверить, поэтому любые предложения будут оценены.
Кроме того, интересным фактом является то, что каждый раз, когда Ubuntu останавливается на одном и том же этапе сборки mvn clean install
. Но я понятия не имею, почему во время этого Ubuntu зависает, так как этот шаг сборки должен просто потреблять больше памяти и использовать больше ЦП.
Заранее спасибо!
=================================== РЕДАКТИРОВАТЬ ============== =====================
Хорошо, сегодня я обнаружил, что через некоторое время он фактически не замерзает. Я оставил 800 МБ свободными, запустил процесс сборки, он завис, и примерно через 7 минут процесс разблокировки был успешно завершен. Тем не менее, ожидание в течение 7 минут совершенно неприемлемо, и я не совсем понимаю, почему один процесс (процесс сборки) блокирует другие процессы (вкладки Chrome, перемещение мыши и т.д.), Когда для этого недостаточно памяти только для него. Есть ли другие варианты, кроме обновления до большего объема оперативной памяти?
=================================== РЕДАКТИРОВАТЬ # 2 ============ =======================
Согласно предложению @ terdon, я измерил температуру процессора во время нормальной работы и в процессе сборки непосредственно перед зависанием. Результаты следуют:
Нормальная операция:
Adapter: ISA adapter
Core 0: +57.0°C (high = +84.0°C, crit = +100.0°C)
Core 1: +57.0°C (high = +84.0°C, crit = +100.0°C)
Core 2: +59.0°C (high = +84.0°C, crit = +100.0°C)
Core 3: +57.0°C (high = +84.0°C, crit = +100.0°C)
Перед замораживанием:
Adapter: ISA adapter
Core 0: +74.0°C (high = +84.0°C, crit = +100.0°C)
Core 1: +75.0°C (high = +84.0°C, crit = +100.0°C)
Core 2: +76.0°C (high = +84.0°C, crit = +100.0°C)
Core 3: +77.0°C (high = +84.0°C, crit = +100.0°C)
Таким образом, мне кажется, что это не из-за перегрева, так как он только немного поднимается, но даже не пересекает high
барьер. Итак, снова мне кажется, что это больше похоже на проблему с памятью ...