Ubuntu 12.04 se bloque sur un ordinateur portable lors de l'exécution d'un processus gourmand en mémoire / cpu

1

J'ai un ordinateur portable Dell Precision M4500 avec 4 Go de mémoire RAM et Ubuntu 12.04 64 bits installé avec 8 Go de mémoire d'échange. Après le lancement de l’environnement de développement Java habituel (Eclipse, MySQL Server, SQuirreL, plusieurs onglets dans Chrome, Skype et Tomcat avec une application Web GWT relativement petite déployée dans devmode), il reste environ 100 Mo de mémoire disponible free -m la sortie suit):

             total       used       free     shared    buffers     cached
Mem:          3944       3812        131          0         35        579
-/+ buffers/cache:       3197        746
Swap:         8787        422       8365

Fonctionnement top commandé par la mémoire RES indique ce qui suit:

  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

Maintenant, avoir 100 Mo de mémoire libre est très bien pour moi puisque tout fonctionne bien.

Le problème se pose quand je cours mvn clean install commande qui commence simplement à créer une application GWT: si je laisse environ 800 Mo de mémoire libre en fermant des onglets Google Chrome, SQuirreL et GWT webapp s'exécutant sous devmode, mvn clean install fonctionne très bien tout en consommant la quasi-totalité de ces 800 Mo gratuits, puis en les libérant.

Mais, si je ne ferme pas les applications mentionnées (onglets Chrome, SQuirrel, laissant l'application GWT s'exécuter en mode devmode), ce qui laisse environ 100 Mo de mémoire libre, l'ensemble du système Ubuntu se bloque pendant le processus de construction. J'ai essayé d'attendre plusieurs minutes mais rien ne change.

Quelqu'un pourrait-il indiquer ce qui peut geler l'ensemble du système Ubuntu? Ceci peut être facilement reproduit afin que je puisse exécuter n'importe quelle commande ou vérification, ainsi toutes les suggestions seront appréciées.

En outre, le fait intéressant est que chaque fois qu'Ubuntu se fige pendant la même étape de construction de mvn clean install. Mais je ne sais pas pourquoi Ubuntu se fige pendant cette étape de construction, car elle devrait simplement consommer plus de mémoire et utiliser plus de CPU.

Merci d'avance!

================================== ÉDIT ======================

D'accord, aujourd'hui, j'ai constaté que le produit gèle après un certain temps. J'ai laissé 800 Mo libres, lancé le processus de construction, il est gelé et, après environ 7 minutes, le processus de construction s'est terminé avec succès. Néanmoins, attendre 7 minutes est tout à fait inacceptable et je ne comprends pas très bien pourquoi un processus (processus de construction) bloque d’autres processus (onglets Chrome, mouvements de la souris, etc.) alors que la mémoire est insuffisante. Existe-t-il d'autres options que la mise à niveau vers davantage de RAM?

================================== EDIT # 2 ============ ========================

Selon la suggestion de @ terdon, j'ai mesuré la température du processeur au cours d'un fonctionnement normal et au cours du processus de construction, juste avant le gel. Les résultats suivent:

Fonctionnement normal:

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)

Juste avant de geler:

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)

Donc, il me semble que ce n’est pas dû à une surchauffe, car il ne monte que légèrement, mais ne traverse même pas high barrière. Donc, encore une fois, il me semble que cela ressemble plus à un problème de mémoire ...

Yura
la source
1
Vraiment étrange, puisque vous avez mis en cache 579 Mo et 100 en mémoire libre, ce qui signifie qu'il y a 679 M de RAM disponible pour le système. En tout cas, le OOM devrait tuer votre processus de la machine est gelée. Serait-ce un problème de chauffage? La machine surchauffe-t-elle lorsque vous exécutez le mvn commander? J'ai le même ordinateur portable et j'ai eu quelques problèmes de chauffage.
terdon
Bonjour @terdon, merci pour la suggestion - j'ai Intel Core i7 920XM CPU qui est extrême édition et ordinateur portable est généralement assez chaud. Je vais maintenant mesurer la température du processeur en utilisant sensors pendant le processus de construction et écrire en retour. P.S. Veuillez également vous référer à la partie modifiée de la question
Yura
Bonjour encore une fois, @terdon, s'il vous plaît se référer à ma dernière édition
Yura
1
Cela pourrait être dû au swap-thrashing sur le disque. Vérifiez que les paramètres d’E / S du disque ( man hdparm ) sont optimales. Aussi, vous pouvez exécuter Maven sous nice et ionice de sorte qu'il a moins de chances de verrouiller le bureau. Une absence totale de réponse sent le conflit d’interruption / la famine, que je ne vois pas très bien si le HD est correctement configuré ... (possédez-vous des périphériques montés sur NFS?).
LSerni
1
Près de 5 ans plus tard, je rencontre un problème similaire lorsque je lance une commande gourmande en ressources processeur sur un ordinateur portable Dell doté de 8 Go de RAM. Avez-vous une idée du problème et de la solution?
jogaco