Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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
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 smile


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 smile

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...

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