J'exécute un script Java sur un serveur Fedora Core version 6 (Linux 2.6.19-1.2911.6.5.fc6xen x86_64) et je suis préoccupé par le manque de mémoire. La boîte a 2 Go de mémoire au total. L'exécution de "free-tm" affiche les éléments suivants:
gratuit -tm total utilisé des tampons partagés libres mis en cache Mem: 2048 956 1091 0 115 611 - / + tampons / cache: 229 1818 Échange: 543 0 543 Total: 2591 956 1635
Il semble que près de la moitié de la mémoire soit actuellement utilisée. Lorsque j'exécute les commandes "ps aux" et "top", il est impossible de trouver un processus ou une combinaison de processus utilisant la mémoire. Voici les résultats de "top":
5473 root 15 0 63236 19m 2036 S 0 0.9 0: 00.33 getAp_StrangeNe 1395 racine 18 0 214m 9080 5276 S 0 0,4 0: 00.18 httpd 21088 apache 15 0 217m 7160 2944 S 0 0.3 0: 00.14 httpd 21081 apache 15 0 217m 7128 2952 S 0 0,3 0: 00,01 httpd 21085 apache 15 0 217m 7040 2916 S 0 0.3 0: 00.01 httpd 21087 apache 15 0 217m 7040 2916 S 0 0.3 0: 00.00 httpd 21082 apache 15 0 217m 6492 2524 S 0 0.3 0: 00.00 httpd 21084 apache 15 0 217m 6472 2512 S 0 0.3 0: 00.00 httpd 26700 racine 18 0 144m 6320 3952 S 0 0.3 0: 03.89 php 21086 apache 15 0 216m 5652 1800 S 0 0.3 0: 00.00 httpd 21083 apache 18 0 216m 5648 1800 S 0 0.3 0: 00.00 httpd 4380 racine 15 0 73916 2936 2292 R 0 0.1 0: 00.00 sshd 4042 racine 15 0 73916 2928 2292 S 0 0.1 0: 00.01 sshd 5582 suffixe 16 0 47572 2508 1984 S 0 0.1 0: 00.00 local 5579 postfixe 16 0 49700 2324 1804 S 0 0.1 0: 00.00 nettoyage 1495 correctif 15 0 49628 2288 1768 S 0 0.1 0: 01.73 qmgr 4601 suffixe 15 0 49568 2200 1700 S 0 0.1 0: 00.00 prise en charge 1492 racine 15 0 47412 2104 1616 S 0 0.1 0: 03.48 maître 10654 racine 15 0 74272 1684 596 S 0 0.1 0: 00.08 écran 10655 racine 15 0 65308 1676 1212 S 0 0.1 0: 00.05 bash 4044 racine 15 0 65184 1596 1172 S 0 0.1 0: 00.00 bash 4382 racine 15 0 65184 1596 1168 S 0 0.1 0: 00.01 bash 5460 racine 18 0 100m 1588 836 S 0 0.1 0: 00.00 crond 1384 ntp 15 0 19760 1296 1024 S 0 0,1 0: 00,28 ntpd 1405 racine 19 0 73916 1204 552 S 0 0,1 1: 50,10 crond 5584 root 16 0 16940 1196 892 S 0 0.1 0: 00.05 haut 1350 root 25 0 26828 1188 904 S 0 0.1 0: 00.95 montage automatique 5978 racine 15 0 16804 1164 892 R 0 0.1 0: 00.00 top 28831 racine 15 0 44284 1072 628 S 0 0.1 0: 00.10 sshd 1497 42949672 15 0 35348 1068 720 S 0 0.1 0: 01.51 nrpe 5472 racine 19 0 8644 940 800 S 0 0.0 0: 00.00 sh 26557 racine 15 0 31096 884 520 S 0 0.0 0: 01.71 ssh-agent 1149 racine 18 0 10104 788 648 S 0 0.0 0: 00.00 rpc.statd 1181 root 18 0 42000 744 328 S 0 0.0 0: 00.06 rpc.idmapd 325 racine 15 -4 12560 684 364 S 0 0.0 0: 00.01 udevd 1 racine 15 0 10308 680 568 S 0 0.0 0: 00.46 init 1129 rpc 15 0 8004 608 452 S 0 0.0 0: 20.77 portmap 1103 racine 15 0 5864 604 484 S 0 0.0 0: 11.41 syslogd 1499 racine 15 0 3760 512 440 S 0 0.0 0: 00.00 agetty 1424 racine 18 0 18668 464 308 S 0 0.0 0: 00.00 atd 1106 racine 15 0 3760 440 360 S 0 0.0 0: 00.00 klogd 1199 dbus 25 0 25452 432 216 S 0 0.0 0: 00.00 dbus-daemon 1117 racine 18 0 6436 328 240 S 0 0.0 0: 00.66 irqbalance 2 racine RT 0 0 0 0 S 0 0.0 0: 00.61 migration / 0 3 racine 34 19 0 0 0 S 0 0.0 0: 00.20 ksoftirqd / 0 4 root RT 0 0 0 0 S 0 0.0 0: 00.00 chien de garde / 0 5 racine 10 -5 0 0 0 S 0 0.0 00: 00.70 événements / 0 6 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 khelper 7 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 kthread 9 root 10 -5 0 0 0 S 0 0.0 0: 00.00 xenwatch 10 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 xenbus 15 racine RT -5 0 0 0 S 0 0.0 0: 00.66 migration / 1 16 racine 34 19 0 0 0 S 0 0.0 0: 00.26 ksoftirqd / 1 17 root RT -5 0 0 0 S 0 0.0 0: 00.00 chien de garde / 1 18 racine 10 -5 0 0 0 S 0 0.0 0: 00.98 événements / 1 58 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 kblockd / 0 59 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 kblockd / 1 60 racine 20 -5 0 0 0 S 0 0.0 0: 00.00 cqueue / 0 61 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 cqueue / 1 63 root 20 -5 0 0 0 S 0 0.0 0: 00.00 ksuspend_usbd 66 racine 20 -5 0 0 0 S 0 0.0 0: 00.00 khubd 68 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 kseriod 99 racine 10 -5 0 0 0 S 0 0.0 0: 00.70 kswapd0 100 racine 20 -5 0 0 0 S 0 0.0 0: 00.00 aio / 0 101 racine 20 -5 0 0 0 S 0 0.0 0: 00.00 aio / 1 234 racine 11 -5 0 0 0 S 0 0.0 0: 00.00 kpsmoused 262 racine 18 -5 0 0 0 S 0 0.0 0: 00.00 kmirrord 269 racine 20 -5 0 0 0 S 0 0.0 0: 00.00 ksnapd 272 racine 10 -5 0 0 0 S 0 0.0 0: 25.29 kjournald 296 racine 11 -5 0 0 0 S 0 0.0 0: 00.00 kauditd 700 root 14 -5 0 0 0 S 0 0.0 0: 00.00 kmpathd / 0 701 racine 14 -5 0 0 0 S 0 0.0 0: 00.00 kmpathd / 1 725 racine 12 -5 0 0 0 S 0 0.0 0: 00.00 kjournald 1230 racine 10 -5 0 0 0 S 0 0.0 0: 02.87 rpciod / 0 1231 racine 10 -5 0 0 0 S 0 0.0 0: 00.00 rpciod / 1 1232 root 19 0 0 0 0 S 0 0.0 0: 00.00 lockd 2405 racine 15 0 0 0 0 S 0 0.0 0: 00.31 pdflush 28522 racine 15 0 0 0 0 S 0 0.0 0: 00.00 pdflush
Je ne connais rien à la gestion de la mémoire sous aucun système d'exploitation. Je ne sais donc pas si les commandes que j'utilise permettent même de fournir les informations dont j'ai besoin. Des suggestions quant à ce qui pourrait se passer? Est-ce que j'interprète mal ce que je suis présenté?
Réponses:
D'après ce que j'ai lu, votre machine utilise 229 Mo de processus, puis tente d'améliorer ses performances en mettant en cache 611 Mo de disque en mémoire. Rien d'étrange ici; S'il a de la mémoire libre, pourquoi ne pas l'utiliser?
En passant, attendez-vous à ce que presque toute la mémoire soit "utilisée" sur un ordinateur en fonctionnement depuis un certain temps.
la source
Regardez les tampons +/- / ligne de cache.
L'utilisation de la mémoire dans la ligne Mem: inclut le stockage temporaire utilisé par le système d'exploitation pour la mise en cache des accès aux fichiers.
la source
Ce site pourrait être utile:
De plus, ce site contient une explication assez détaillée de l’utilisation de la mémoire sous Linux:
la source