• [^] # Re: trouver le coupable

    Posté par (site web personnel) . En réponse au message Disque bruyant et commit qui marche pas. Évalué à 5.

    Pour limiter les accès, j'ai aussi ceci :

    # Regroupe les opération de lectures/écritures, afin d'économiser les batteries
    # La valeur est un nombre de secondes, avant que l'écriture soit effective
    LAPTOP_MODE=5 ; # "5" -> Attend 5s pour regrouper les opérations d'écritures
    echo "$LAPTOP_MODE" > /proc/sys/vm/laptop_mode
    # Pourcentage de pages mémoires occupées pour les données en attente d'écriture qu'il faut atteindre, avant de forcer l'écriture des données sur le DD
    # La valeur est un pourcentage
    DIRTY_RATIO=80 ; # Pourcentage, utiliser une valeur assez elevée
    echo $DIRTY_RATIO > /proc/sys/vm/dirty_ratio
    # Pourcentage de pages mémoires occupées pour les données en attente d'écriture que le système N'écrit PAS sur le disque, après une opération de "write". Cela permet de ne pas écrire tout d'un coup. Une valeur faible est préferable
    # La valeur est un pourcentage
    DIRTY_BACKGROUND_RATIO=5 ; # Pourcentage, utiliser une valeur faible
    echo $DIRTY_BACKGROUND_RATIO > /proc/sys/vm/dirty_background_ratio
    # Taille de fichier que le kernel va lire d'un coup, lors de l'accès en LECTURE à un fichier.
    # Pour faire simple, si un fichier fait une taille inferieur ou égale à READAHEAD, alors le fichier sera lit d'un seul morceau. Si le programme qui lit ce fichier le lit séquentiellement, il n'y aura qu'une seule lecture
    # La taille est en mega-octet
    READAHEAD=32 ; # Lit les fichiers par blocs de 16Mo
    # Liste de periphériques sur lequels cette option va se pratique
    #READAHEAD_DEV="/dev/hda /dev/hdc" ; # Modifie les paramètres sur les DD hda et hdc
    READAHEAD_DEV="`/sbin/fdisk -l 2>/dev/null|sed -e '/^\/dev/!d' -e 's/^\([^ ]\+\) .*/1円/g' -e 's/[0-9]\+$//g'|sort -u`"
    for DEV in $READAHEAD_DEV; do 
    blockdev --setra $(($READAHEAD * 2048)) $DEV
    # blockdev --getra $DEV
    done
    
    

    Et les deux options que tu as déjà donné :

    # Cache en ecriture. Le système attendra un certain nombre de centième de secondes avant de procéder à l'écriture des blocs sur le DD.
    # Ce delai sera bien sûr fonction de la quantité de mémoire vive disponible pour le cache disque
    # La valeur est ici est en secondes
    AGE=600 ; # Attend 600 secondes (10 minutes) avant d'écrire des données sur les DD
    echo "$((AGE * 100))" > /proc/sys/vm/dirty_writeback_centisecs
    echo "$((AGE * 100))" > /proc/sys/vm/dirty_expire_centisecs
    
    

    Sinon, bonne idée que ton "service syslog stop" dans ton précédent message ! :)