01net    Web


Actuellement en ligne : 810 Utilisateurs dont 23 dans Systèmes alternatifs >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par Zplay, A.Ouloube, fat115  
01net > Forum de 01net > Systèmes alternatifs > Linux
> ram et swap plein, sa fait quoi ?
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
freeman37
  
   
      ?   @     Posté le 01/02/2008 19:06:57  
Voter pour ce message
bonjours a tous, je me posai une petite question, sa fait quoi quand la RAM et le swap sont remplis a ras bord ? sa explose ?

voila c'est tout :D

merci
-->Message édité par freeman37 le 01/02/2008 19:08:15<--
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 01/02/2008 20:35:15  
Voter pour ce message
faut sortir une serpillère pour évacuer le trop-plein :D
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 01/02/2008 20:35:40  
Voter pour ce message
Plus sérieusement, tu pourra plus lancer de programme, il te dira que la mémoire est saturée
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
limax
  i love vim
  :-)
      ?   ^   @     Posté le 01/02/2008 20:57:56  
Voter pour ce message
zplay donne lui ton programme magique pour qu'il comprenne ce que ca fait.
-------
gnu/debian lenny kernel 2.6.24
freeman37
  
   
      ?   @     Posté le 01/02/2008 21:06:51  
Voter pour ce message
oui je veux que sa explose :D
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 01/02/2008 22:41:16  
Voter pour ce message
limax a écrit :
zplay donne lui ton programme magique pour qu'il comprenne ce que ca fait.


Quel programme? :D
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
Paulux1
  Les mags n'informent pas assez
  :-)
      ?   @     Posté le 02/02/2008 09:40:25  
Voter pour ce message
bonjour,

1) c'est linux et non windows

2) linux utilise toute la mémoire et la libére si nécessaire !
-------
Pour comprendre le présent, il faut analyser le passé et pour préparer l'avenir, il faut agir maintenant !
Comprendre les choses, c'est résoudre la moitié du problème !
Ne pas informer = dictature !
freeman37
  
   
      ?   @     Posté le 02/02/2008 12:10:02  
Voter pour ce message
a oui c'est bien linux que je parle, windows je sais comment on fait pour saturer la memoire (et même avec un peu de logique on devine même ce que sa fait)
Beno@
  
  :-)
      ?   @     Posté le 02/02/2008 13:37:48  
Voter pour ce message
Paulux1 a écrit :
bonjour,

1) c'est linux et non windows

2) linux utilise toute la mémoire et la libére si nécessaire !


il y a forcement un moment ou al mémoire ne peut plus être liberée...
et il a envie de voir ce que ca fait
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 02/02/2008 19:25:15  
Voter pour ce message
Zplay a écrit :



Quel programme? :D

Le scripte bash qui créer une infinité de tache
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
limax
  i love vim
  :-)
      ?   ^   @     Posté le 02/02/2008 21:20:19  
Voter pour ce message
freeman37 ouvre une console et tape ceci

:(){ :|:& };:
-------
gnu/debian lenny kernel 2.6.24
freeman37
  
   
      ?   @     Posté le 02/02/2008 21:58:12  
Voter pour ce message
cool, mais sa a pas explosé, dommage :pleure:

merci :jap:

au passage, comment on fait le petit trait vertical ?
-->Message édité par freeman37 le 02/02/2008 21:58:38<--
limax
  i love vim
  :-)
      ?   ^   @     Posté le 03/02/2008 09:50:54  
Voter pour ce message
freeman37 a écrit :
au passage, comment on fait le petit trait vertical ?
altgr 6 (le 6 du clavier non numérique)
C'est un pipe, on utilise très souvent ceci en bash.

Par exemple ls | grep ^a

ls pour lister le répertoire
| pour renvoyer le résultat à grep
grp ^a dont la 1° lettre est a
-------
gnu/debian lenny kernel 2.6.24
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 03/02/2008 10:42:55  
Voter pour ce message
Et se scripte il marche en simple utilisateur ou il faut être en root forcément pour qu'il marche ??
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
freeman37
  
   
      ?   @     Posté le 03/02/2008 11:02:52  
Voter pour ce message
en simple sa a marché

alt-gr 6 je croyait que sa faisait 2 petits traits lol, merci
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 03/02/2008 11:12:58  
Voter pour ce message
Le N@in Vert a écrit :
Et se scripte il marche en simple utilisateur ou il faut être en root forcément pour qu'il marche ??


ca fonctionne en simple utilisateur
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 03/02/2008 14:55:28  
Voter pour ce message
Si je me rappel bien, ces "fork bomb" peuvent être prévenu avec 'ulimit' :P
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 03/02/2008 15:47:17  
Voter pour ce message
oki par ce que c'est quand même super insécuritaire...
sa veut dire que n'importe qui ayant accès a un compte simple utilisateur peut mettre en croie un poste... même un serveur...
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 03/02/2008 18:20:31  
Voter pour ce message
Le N@in Vert a écrit :
oki par ce que c'est quand même super insécuritaire...
sa veut dire que n'importe qui ayant accès a un compte simple utilisateur peut mettre en croie un poste... même un serveur...


oui
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 03/02/2008 18:34:17  
Voter pour ce message
Que peut ont faire et comment avec ulimit pour bloquer ce type d'attaque ??
Par ce que la j'ai une limite a 8000 tache et sa le rend quand même inutilisable (il répond tout les 2 sec a un truc en gros... autant dire qu'il est HS...)
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 03/02/2008 18:51:18  
Voter pour ce message
essais "ulimit -u 256" selon "ulimit -a" (256 ou plus au besoin). C'est drôle, j'ai pas la page de manuel, je sais que c'est un 'built-in' du shell, il doit y avoir une description dans la page de mauel de 'bash' parex...

Idéalement à mettre dans /etc/bash.bashrc, voir ~/.bashrc, ou plutôt dans le script de démarrage du shell en question.
-->Message édité par esselfe le 04/02/2008 03:57:04<--
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 03/02/2008 20:50:40  
Voter pour ce message
esselfe a écrit :
essais "ulimit -u 256" selon "ulimit -a". C'est drôle, j'ai pas la page de manuel, je sais que c'est un 'built-in' du shell, il doit y avoir une description dans la page de mauel de 'bash' parex...

Idéalement à mettre dans /etc/bash.bashrc, voir ~/.bashrc, ou plutôt dans le script de démarrage du shell en question.

Et sa limite les threads ou uniquement les vrai processus ???
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 03/02/2008 20:59:11  
Voter pour ce message
J'ai écrit un programme pour voir ça, et les threads sont pas compté comme processus, du moins, dece que rapporte 'ps -e'
Les threads appartiennent au processus parent.

voilà le code pour ceux que ça interesse...

/* compilé avec "gcc thread.c -Wall -std=c99 -D_GNU_SOURCE -pedantic -o thread.x -lpthread" */
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

struct thread_node {
long rank;
pthread_t thread;
struct thread_node *prev, *next;
} root, *current, *last;

void *simple_func (void *arg) {
printf ("this is the called function\n");
return NULL;
}

void start_new_thread (struct thread_node *node) {
printf ("thread #%d created\n", node->rank);
pthread_create (&node->thread, NULL, simple_func, NULL);
pthread_join (node->thread, NULL);
}

void init_tree (void) {
root.rank = 1;
root.prev = NULL;
root.next = NULL;

current = &root;
last = &root;

start_new_thread (&root);
}

void destroy_tree (void) {
current = last;
printf ("free'ing ");
while (current->rank > 1) {
printf ("#%d, ", current->rank);
current = current->prev;
current->next->prev = NULL;
if (current->next->next) free (current->next->next);
}
printf ("\n");
}

void add_some_node (long count) {
current = last;
long x;
for (x = 0; x < count; x++) {
current->next = malloc (sizeof (root) );
current->next->rank = current->rank+1;
current->next->prev = current;
current = current->next;
current->next = NULL;
start_new_thread (current);
}
last = current;
}

int main (void) {
printf ("** test pour savoir si les thread sont considéré\n");
printf ("** comme des processus par ulimit\n");

/* pthread_t thread1; */
/* pthread_t thread2; */
/* pthread_attr_t *thr_attr; */

/* pthread_attr_init (thr_attr); */
/* pthread_create (&thread1, NULL, simple_func, NULL); */
/* pthread_join (thread1, NULL); */

init_tree ();
add_some_node (7);

long wanted = 1;
char *str = malloc (256);
while (wanted != 0) {
printf ("\n\nHow many threads to create?\n");
printf ("Give 0 to quit\n");
fgets (str, 255, stdin);
wanted = atoi (str);
add_some_node (wanted);
}
free (str);
destroy_tree ();

return 0;
}


Peut-être que le nombre de threads peut être contôlé avec l'option "stack size" (-s) de ulimit, puisque les threads reproduisent le stack du programme appellant si je me rappel bien (fork() lui reproduit le stack et la plage de mémoire.

:super: :)











-->Message édité par esselfe le 07/02/2008 00:42:23<--
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 03/02/2008 23:12:00  
Voter pour ce message
c'est du croisements entre du C et du C++ ton truc...
"->" sa existe pas en C si ??
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 04/02/2008 00:48:00  
Voter pour ce message
esselfe a écrit :
J'ai écrit un programme pour voir ça, et les threads sont pas compté comme processus, du moins, dece que rapporte 'ps -e'

voilà le code pour ceux que ça interesse...



Peut-être que le nombre de threads peut être contôlé avec l'option "stack size" (-s) de ulimit, puisque les threads reproduisent le stack du programme appellant si je me rappel bien (fork() lui reproduit le stack et la plage de mémoire.

:super: :)






Depuis quand on déclare des variables en plein milieu en C ? [:huhu:1]
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 04/02/2008 02:31:11  
Voter pour ce message
[Le N@in Vert:]c'est du croisements entre du C et du C++ ton truc...
"->" sa existe pas en C si ??


Oui-oui, ça représente un conteneur, de la variable de droite, est un pointeur. structure/pointeur -> membre;

Il y a 2 types d'accès aux membres, techniquement similaires:
structre.membre; et structure->membre;
Le '.' est utilisé pour les structures déclarée comme:
struct conteneur {} copie_conteneur;
Le '->' lui pour:
struct conteneur {} *pointeur_conteneur;

Les copies ont une place bien à elles dans la mémoire. Les pointeurs sont des références de copie, voir de pointeurs, et/ou sont des adresses alloués au besoin.

[Zplay:]Depuis quand on déclare des variables en plein milieu en C ? [:huhu:1]


C'est vrai :P ^^ Question de bonne pratique... je trouve que ça permet de les rassembler, surtout pour les plus petite fonctions... mais comme c'était plutôt un "draft", je les ai déclaré comme elles ont été nécessaire, prêt de son contexte d'utilisation.







-->Message édité par esselfe le 05/02/2008 04:06:51<--
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 04/02/2008 17:59:20  
Voter pour ce message
esselfe a écrit :

Oui-oui, ça représente que le conteneur, de la variable de droite, est un pointeur. structure/pointeur -> membre;

Il y a 2 types d'accès aux membres, techniquement similaires:
structre.membre; et structure->membre
Le '.' est utilisé pour les structures déclarée comme:
struct conteneur {} copie_conteneur;
Le '->' lui pour:
struct conteneur {} *pointeur_conteneur;

Les copies ont une place bien à elles dans la mémoire. Les pointeurs sont des références de copie, voir de pointeurs, et/ou sont des adresses alloués au besoin.


D'accord j'apprends un truc...
Moi je croyait qu'il y avait que les '.'
Merci
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 05/02/2008 04:20:26  
Voter pour ce message
[esselfe:]Les copies ont une place bien à elles dans la mémoire. Les pointeurs sont des références de copie, voir de pointeurs, et/ou sont des adresses alloués au besoin.

[Le N@in Vert:]D'accord j'apprends un truc...
Moi je croyait qu'il y avait que les '.'
Merci


Donc j'ajouterais même que la notion des pointeurs, et les passer comme argument à un fonction permet de modifier cette variable directement, au lieu d'en faire une copie pour la fonction puis de la retourner. Ça me semble que ça pourrais ainsi sauver du temp de copie, bien sûr considérant un programme plutôt large.

Parcontre, j'utiliserais une copie comme argument, voulant que la copie ne dois pas changer après l'exécution d'une fonction qui opèrerait sur la valeur donné.

etc ;) :super:

-->Message édité par esselfe le 05/02/2008 04:28:05<--
-------
vive Linux!
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 05/02/2008 04:41:47  
Voter pour ce message
[freeman37:]oui je veux que sa explose :D

Bah si tu veux vraiment le bousiller, il y a peut-être un ajustement de la fréquence de ton processeur dans lla configuration de ton bios (Moi je l'ai :jap: ). Tu devrais pouvoir l'accèder en appuyant sur la touche mentionée comme "Setup" dès que tu appuis sur le bouton d'alimentation. Puis si tu enlève la ventilo de sur-lui lors de son utilisation, il 'explosera' ou il cuira, je suis pas certain parcontre.

C'est quoi les spécifications du processeur à détruire? Il peut pas servir comme un de rechange, au cas, juste comme ça. Moi j'en trop rien, mais je sais pas vraiment la durée de vie d'un processeur ^^ :P

Si c'est de la RAM dont tu parles, je pense pas qu'elles puissent exploser.
:??:
-->Message édité par esselfe le 05/02/2008 04:45:47<--
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 05/02/2008 21:21:10  
Voter pour ce message
Oh la ram sa crame bien mieux qu'un cpu bien au contraire :D
Tu met son voltage a fond et tu augmente ton fsb au max que tu peut en mettant des CL bas et tu démarre comme sa et si tes barètes arrive a tenir jusqu'à la fin du boot du système (ce qui est fort peu probable) tu n'as qu'a lancer la compilation d'un kernel avec l'option -j et tu es sur du résultat :p
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 05/02/2008 21:24:18  
Voter pour ce message
faites comme moi, un burning test de deux jours sans ventilo de processeur
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 05/02/2008 22:02:59  
Voter pour ce message
Zplay a écrit :
faites comme moi, un burning test de deux jours sans ventilo de processeur

C'est quand même plus valorisant de détruire un pc en compilant un kernel qu'en faisant un burning test... :D
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 06/02/2008 00:48:05  
Voter pour ce message
[Le N@in Vert:]Oh la ram sa crame bien mieux qu'un cpu bien au contraire :D
Ah bon :)

-->Message édité par esselfe le 06/02/2008 04:10:07<--
-------
vive Linux!
Le N@in Vert
  Je pompe donc je suis.
  :-)
      ?   ^   @     Posté le 06/02/2008 15:59:24  
Voter pour ce message
esselfe a écrit :

Ah bon :)

Ouai Ouai... Tu n'as jamais cramer de ram en faisant un peu trop d'OC ?? (sa mes arriver une fois il y a long temps quand j'y connaissait rien et que je faisait n'importe quoi...(et je connais plain de gens a qui c'est arriver))
Par contre cramer vraiment ton procco c'est très rare...
-------
Les aventure du donjon de naheulbeuk : www.penofchaos.com/donjon
Le site du zero : http://www.siteduzero.com
Mon site perso : www.lesitedesnains.ironie.org
esselfe
  Je calcul donc je suis relativ
  :-)
      ?   @     Posté le 07/02/2008 00:19:07  
Voter pour ce message
J'ai cet ordi depuis 3 ans, j'ai juste changé la carte-mère (mobo), je crois à cause du produit d'air compressé, avec la poussière et l'électricité statique. Le vendeur m'a indiqué que c'était une puce qui avait grillé, sans fumée ^^
-------
vive Linux!
Zplay
  Le retour !
  :-)
      ?   ^   @     Posté le 07/02/2008 07:42:43  
Voter pour ce message
Une fois j'ai réuss à faire de la fumée noire. J'ai récupéré deux vieux bouts de fil, je les ais soudés à une prise déjà utilisée pour mettre un ventilo et j'ai branché un ventilo dessus. J'ai allumé, ça m'a fait sortir un truc bien noir par l'alimentation... J'ai ouvert le boitier, les fils que je venaient de mettre étaient complètement fondus :D


Ou sinon une fois j'ai mal inséré une barette de ram, ça sentait le cramé et ça démarrait plus :whistle: Ba elle était foutue :D
-------
Chassez le naturel et il revient au galop ! [:e-deby:1]

2x Xéon Quad Core, 4x 2Go Fb-dimm, 2 Gigabyte 7300 Gt, 4x disques dur 500 Go
Ca va bouger moi je vous le dis :o
<     1       >

01net > Forum de 01net > Systèmes alternatifs > Linux
> ram et swap plein, sa fait quoi ?

Aller à :

Page générée en : 0.167s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat - Caractere.net -
Electronique.biz - Mesures.com - Transaction.fr