#1 Le 04/03/2013, à 18:49
- Haleth
[résolu (bypass) ] Swap non opérationnel
Bonsoir,
Je rencontre un problème délicat avec mon swap: il ne fonctionne pas.
Une bonne valeur est retourné par free et /proc/swaps, mais ledit swap n'est tout simplement jamais utilisé.
Exemple de code pour tester:
3% [alex:/tmp]cat test.c
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(void){
char* buffer;
int mb = 0;
while((buffer=malloc(500*1024*1024)) != NULL) {
memset(buffer, 0, 500*1024*1024);
mb = mb + 500;
printf("Allocated %d MB\n", mb);
sleep(1);
}
perror("Malloc failed");
return(0);
}
Résultat:
3% [alex:/tmp]!.
./main
Allocated 500 MB
Allocated 1000 MB
Allocated 1500 MB
Allocated 2000 MB
Malloc failed: Cannot allocate memory
Un free me montre que le swap reste inutilisé tout le long de l'opération
Quelqu'un a-t-il déjà rencontré ce genre de problème ?
Merci
Dernière modification par Haleth (Le 15/03/2013, à 14:49)
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#2 Le 04/03/2013, à 21:22
- Arbiel
Re : [résolu (bypass) ] Swap non opérationnel
Bonsoir
Question stupide : es-tu certain de dépasser le seuil de remplissage de la mémoire à partir duquel la mémoire virtuelle commence à être utilisée ?
voir le 3.7 de cette page de la documentation
Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04, GNOME 3.36.8
24.04 en cours de tests
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.
Hors ligne
#3 Le 04/03/2013, à 21:24
- Haleth
Re : [résolu (bypass) ] Swap non opérationnel
J'ai reglé le swappiness à différentes valeurs: aucun effet (même le 100 qui, d'après le doc, rend le swap prioritaire vis-à-vis de la ram)
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#4 Le 04/03/2013, à 22:13
- pingouinux
Re : [résolu (bypass) ] Swap non opérationnel
Bonsoir Haleth,
J'ai voulu tester ton programme, et suis resté bloqué à 2500 MB => clavier et souris inopérants, obligé de rebooter…:(
Hors ligne
#5 Le 04/03/2013, à 22:16
- Haleth
Re : [résolu (bypass) ] Swap non opérationnel
Salut pingouinux,
Ben chez toi ca marche donc
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#6 Le 05/03/2013, à 14:24
- tiramiseb
Re : [résolu (bypass) ] Swap non opérationnel
Question stupide : es-tu sur une machine 32 ou 64 bits ?
J'ai reglé le swappiness à différentes valeurs: aucun effet (même le 100 qui, d'après le doc, rend le swap prioritaire vis-à-vis de la ram)
Non, à 100 la swap n'est pas prioritaire sur la RAM, par contre à 100 le système n'hésitera pas à utiliser la swap dès que possible... Et là tu es sur un espace mémoire qui vient d'être créé et en cours d'utilisation, je pense donc que le noyau ne tentera pas de le mettre en swap
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 05/03/2013, à 21:01
- Haleth
Re : [résolu (bypass) ] Swap non opérationnel
Je suis hélas en 32b
La limitation de l'espace mémoire par process n'est-elle pas, néanmoins, 3G ?
Pense-tu que ce soit l'origine du problème ?
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#8 Le 05/03/2013, à 23:13
- tiramiseb
Re : [résolu (bypass) ] Swap non opérationnel
Il y a des cas où la limite par processus est de 2 Go. Mais je ne saurais pas dire si c'est ton cas ou non. Pour vérifier si ta swap fonctionne, plutôt que de faire un programme C comme ça je te propose de faire un gros tmpfs et de le remplir...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 15/03/2013, à 14:48
- Haleth
Re : [résolu (bypass) ] Swap non opérationnel
Mouais ben du coup, j'ai pris mon courage à 3 mains et j'ai viré, enfin, ce vieux 32b.
Du coup j'en ai profiter pour mettre un Debian et ca marche _nettement_ mieux (swap OK, plus de process out-of-mem etc)
J'sais pas si c'est le 32b ou une conf d'ubuntu (50-50% pour le kernel ?) mais mon problème est résolu
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne