Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 04/03/2013, à 19: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, à 15: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, à 22: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
Dell Vostro 3550 Ubuntu 14.04 64 bits

Hors ligne

#3 Le 04/03/2013, à 22: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, à 23: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, à 23: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, à 15: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


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#7 Le 05/03/2013, à 22: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 06/03/2013, à 00: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-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#9 Le 15/03/2013, à 15: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

Haut de page ↑