web-dev-qa-db-fra.com

"Impossible d'allouer de la mémoire" alors qu'aucun processus ne semble utiliser de mémoire

Je ne suis pas compétent sur des problèmes de serveur, aucune aide est très appréciée. Lorsque vous essayez de démarrer une coquille Python/Django sur une boîte Linux, je reçois OSError: [Errno 12] Cannot allocate memory.

free -m semble confirmer que je suis hors de mémoire:

             total       used       free     shared    buffers     cached
Mem:           590        560         29          0          3         37
-/+ buffers/cache:        518         71
Swap:            0          0          0

Mais je ne peux pas voir ce qui mette la mémoire avec top ou ps aux:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
    1 root      20   0 24336  908    0 S  0.0  0.2   0:00.68 init               
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S  0.0  0.0   0:04.85 ksoftirqd/0        

Comment puis-je identifier la fuite? Merci.

BTW, je ne sais pas si cela est pertinent, mais la machine dont je parle est une instance AWS EC2 avec Ubuntu 12 en cours d'exécution.

7
onurmatik

Essaye ça:

  1. Allez dans top.
  2. Appuyez sur F (I.e., Shift+F) Pour spécifier le champ de tri.
  3. Taper N. Cela allumera le minuscule n dans la liste en une majuscule N.
  4. Presse Enter. La liste doit maintenant être triée par utilisation de la mémoire.

Presse ? ou alors h à l'écran principal pour plus d'options.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1010 mysql     20   0  545m  37m 1412 S  0.0  6.3   0:32.97 mysqld
  939 bind      20   0  157m  11m 1896 S  0.0  1.9   0:00.03 named
 3036 ubuntu    20   0 25260 7812 1720 S  0.0  1.3   0:00.42 bash
 1212 root      20   0  192m 7420 2680 S  0.0  1.2   0:03.87 Apache2
 1322 www-data  20   0  192m 5880 1088 S  0.0  1.0   0:00.00 Apache2
 1323 www-data  20   0  192m 5188  436 S  0.0  0.9   0:00.00 Apache2
 1325 www-data  20   0  192m 5188  436 S  0.0  0.9   0:00.00 Apache2
 1328 www-data  20   0  192m 5188  436 S  0.0  0.9   0:00.00 Apache2
 1329 www-data  20   0  192m 5188  436 S  0.0  0.9   0:00.00 Apache2
  968 whoopsie  20   0  197m 4332 2980 S  0.0  0.7   0:00.01 whoopsie
  795 root      20   0  153m 4256 3036 S  0.0  0.7   0:00.06 NetworkManager
 2919 root      20   0 90156 3964 3064 S  0.0  0.7   0:00.02 sshd
  804 root      20   0  101m 3656 2656 S  0.0  0.6   0:00.03 cupsd
 1498 root      20   0  570m 3396 2312 S  0.0  0.6   0:00.03 console-kit-dae
  693 root      20   0 49948 2876 2272 S  0.0  0.5   0:00.01 sshd
  756 root      20   0 79036 2844 2044 S  0.0  0.5   0:00.02 modem-manager
  964 root      20   0  124m 2844 2348 S  0.0  0.5   0:00.02 gdm-binary
5
keaton_fu
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

triera également tous les processus par usage de la mémoire décroissant.

3
Alan Ogden