Re: test RAM [etait: Compilation de Qt...]

Top Page

Reply to this message
Author: Patrice Karatchentzeff <
Date:  
To: guilde
Old-Topics: Re: Compilation de Qt 2.0.2 sous SuSE 6.2
Subject: Re: test RAM [etait: Compilation de Qt...]
Frederic Mantegazza writes:
> Donc il faut que je teste a fond ma memoire. Le bios ne detecte rien.
> Existe-t-il un outil qui teste vraiment bien la memoire (sous Linux, ou
> Windows le cas echeant) ?


Facile: tu as une arme absolue: la recompilation du noyau... si ça
passe, tes barrettes ont de grandes d'être OK.

Le test des barettes par le BIOS est nul: il ne sait grosso-modo que
détecter si une barette est mal placée.

Pour ton test de recompliation, si tu peux le faire, tu testes tes
barettes les unes après les autres, sinon tu charges la machine avec
un environnement léger genre KDE ... de façon à ce que la machine soit
à la limite du swap. Une compilation n'est pas suffisante: fais-en
plusieurs d'affilée de façon à pouvoir exactement reproduire une
compilation parfaite...

Un plantage classique est du genre « signal 11 »... Si la compilation
plante dès le départ avec ce message, tu peux raisonnablement penser
que la barette est cuite (mais méfie-toi: il y a encore le cache, le
cpu, la carte mère, etc...). La recherche d'un composant qui m... est
une opération de longue haleine...

Cela dit, je te fournis un petit programme en bash pour automatiser
tes recompilations (j'en ai eu plus que l'usage...):

Le test final n'est pas valable (car des parties de code s'appelle
justement warn... donc décommente.

#!/bin/bash
#
# charge.sh --- Version 1.0
# copyright (c) P. Karatchentzeff 1999
# Licence: GPL
#
# Ce progamme a pour but de compiler N noyaux consécutifs sous Linux pour
# faire des tests d'endurance et de charge.
#
# usage: charge.sh N où N est nombre entier positif strict...
#
# Le résultat des tests de compilations est rangé dans
# /tmp/resultat_test_charge et un fichier /tmp/charge.log récupère tout signe
# d'erreurs, de warnings ou de stop.
#

ITERATION=$1
RESULT=/tmp/resultat_test_charge
LOG=/tmp/charge.log

if [ $ITERATION -le 0 ]; then
  echo "usage: charges.sh nb_iteration"
  echo "#### nb_iteration doit être strictement positif"
  exit 1;
else
  echo "charge.sh    --- Version 1.0"
  echo ""
  echo "    This program is free software - See GPL License for more informations"
  echo "          Copyright (c)  P. Karatchentzeff 1999"
  echo ""
  echo "    Ce programme a pour but de tester une machine par une compilation de N noyaux linux consécutifs. Bien-sûr, vous devez avoir au préalable effectué un make menuconfig ou make xconfig et être placé dans /usr/src/linux."
  echo "    Vous devez passer le nombre de compilations en première option de charge.sh. Attention, le temps d'exécution est proportionnel au nombre passé d'itérations..."
  echo ""
fi


# test de présence et création
#
if [ -d $RESULT ]; then
echo "Le répertoire $RESULT existe et va être détruit..."
rm -rf $RESULT
mkdir $RESULT
echo ""
else
mkdir $RESULT
echo ""
fi

echo "Nombre d'itérations demandé: $ITERATION"

passe=0

# boucle d'exécutions...
#
while [ $passe -lt $ITERATION ] ;
do
echo ""
echo "*** passe numéro $((passe+1))/$ITERATION"
echo " -- make dep"
make dep > $RESULT/test_charge_make_dep_$((passe+1)) 2>&1
echo " -- make clean"
make clean > $RESULT/test_charge_make_clean_$((passe+1)) 2>&1
echo " -- make bzImage"
make bzImage > $RESULT/test_charge_make_bzImage_$((passe+1)) 2>&1
echo "*** compilation numéro $((passe+1)) complète"
passe=$((passe+1));
done

# vérifications finale
#
echo ""
echo "*** Vérifications de $RESULT"
grep -i err $RESULT/* > $LOG 
grep -i warn $RESULT/* >> $LOG
grep -i stop $RESULT/* >> $LOG
if [ -s $LOG  ]; then
  echo "    Problèmes survenus lors de la compilation."
  echo "       -- Visualisation rapide des erreurs"
  cat $LOG
else
  echo "    Compilation correcte."
fi


-- 
      |\      _,,,---,,_       Patrice KARATCHENTZEFF  
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:pkarat@club-internet.fr 
     |,4-  ) )-,_. ,\ (  `'-'         p.karatchentzeff@???
    '---''(_/--'  `-'\_)