[Awk] ralentissements [RESOLU]

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

[Awk] ralentissements [RESOLU]

Message par webjdm »

Salut,
Ceci n'est pas vraiment un problème, mais juste dérangeant.
Tous les soirs entre 00:04 et 00:08, j'ai un programme dénommé awk qui fonctionne, je ne sais pas pourquoi... Mon système commence a ralentir pendant ces quelques minutes (utilisation de mon disque dur + augmentation de l'utilisation cpu%). Je ne sais pas quel programme le fait fonctionner.. Une idée? :roll:
Dernière modification par webjdm le dim. 27 juil. 2008, 22:39, modifié 1 fois.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

c'est surement cron :)
par défaut arch fait tourner cron.daily à minuit
Ne vous emmerdez plus, emmerdez les autres.
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

Message par webjdm »

OK merci, je trouvais cela étrange :shock:
Avatar de l’utilisateur
IdoMcFly
Chu Ko Nu
Messages : 436
Inscription : lun. 17 déc. 2007, 14:26

Message par IdoMcFly »

surement la mise à jour de la base de donnée pour locate
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

salut, mlocate ne lance que "updatedb" normalement.

@webjdm, tu devrais lancer la commande:

Code : Tout sélectionner

ps -e -o ppid,command | grep awk
tu auras ainsi le pid de ce qui a lancé awk + la ligne de commande au complet, ca donnera plus d'infos.
Avatar de l’utilisateur
Vinvin
yeomen
Messages : 290
Inscription : ven. 14 déc. 2007, 14:37
Localisation : Rennes

Message par Vinvin »

Lorsque tu auras plus d'infos, tu pourras modifier la priorité du processus avec un

Code : Tout sélectionner

nice -n19 nom_du_processus
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

Vinvin a écrit :Lorsque tu auras plus d'infos, tu pourras modifier la priorité du processus avec un

Code : Tout sélectionner

nice -n19 nom_du_processus
tu voulais peut etre écrire "renice" plutot ;)
nice lance un nouveau process
pour 4 mn, si c'est une tache importante, je pense pas que ca soit vraiment génant, si?
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

Message par webjdm »

tuxce a écrit :salut, mlocate ne lance que "updatedb" normalement.

@webjdm, tu devrais lancer la commande:

Code : Tout sélectionner

ps -e -o ppid,command | grep awk
tu auras ainsi le pid de ce qui a lancé awk + la ligne de commande au complet, ca donnera plus d'infos.
Me revoila, en ayant testé cette commande:

Code : Tout sélectionner

bash-3.2# ps -e -o ppid,command | grep awk
13453 /bin/awk ???    function readline() {?              if (use_zcat || use_bzcat || use_lzcat) {???result = (pipe_cmd | getline);???if (result < 0) {???  print "Pipe error: " pipe_cmd " " ERRNO > "/dev/stderr";???}??      } else {???result = (getline < filename);???if (result < 0) {???  print "Read file error: " filename " " ERRNO > "/dev/stderr";???}??      }??      return result;??    }??    ??    function closeline() {?              if (use_zcat || use_bzcat || use_lzcat) {???return close(pipe_cmd);??      } else {???return close(filename);??      }??    }??    ??    function do_one() {??      insh = 0; thisjoin = 1; done = 0;??      entire_line = "";???      if (verbose) {???print "adding " filename > "/dev/stderr"??      }??      ??      use_zcat = match(filename,"\\.Z$") ||???? match(filename,"\\.z$") || match(filename,"\\.gz$");??      if (!use_zcat)???use_bzcat = match(filename,"\\.bz2");?              if(!use_bzcat)?                use_lzcat = match(filename,"\\.lzma");?              if (use_zcat || use_bzcat || use_lzcat ) {???filename_no_gz = substr(filename, 0, RSTART - 1);??      } else {???filename_no_gz = filename;??      }??      match(filename_no_gz, "/[^/]+$");??      progname = substr(filename, RSTART + 1, RLENGTH - 1);??      if (match(progname, "\\." section "[A-Za-z]+")) {???actual_section = substr(progname, RSTART + 1, RLENGTH - 1);??      } else {???actual_section = section;??      }??      sub(/\..*/, "", progname);?              if (use_zcat || use_bzcat || use_lzcat) {???if (use_zcat) {???  pipe_cmd = "zcat "" filename """;?                } else if (use_bzcat) {???  pipe_cmd = "bzcat "" filename """;?                } else {?                  pipe_cmd = "lzcat "" filename """;?                }???# try to avoid suspicious stuff???if (filename ~ /[;&|`$(]/) {???  print "ignored strange file name " filename " in " curdir > "/dev/stderr";???  return;???}??      }??    ??      while (!done && readline() > 0) {???gsub(/.\b/, "");???if (($1 ~ /^\.[Ss][Hh]/ &&???  ($2 ~ /[Nn][Aa][Mm][Ee]/ ||???   $2 ~ /^JM?NO/ || $2 ~ /^NAVN/ || $2 ~ /^NUME/ ||???   $2 ~ /^BEZEICHNUNG/ || $2 ~ /^NOMBRE/ ||???   $2 ~ /^NIMI/ || $2 ~ /^NOM/ || $2 ~ /^IME/ ||???   $2 ~ /^N[?E]V/ || $2 ~ /^NAMA/ || $2 ~ /^???/ ||???   $2 ~ /^???/ || $2 ~ /^???/ || $2 ~ /^NAZWA/ ||???   $2 ~ /^????????/ || $2 ~ /^????/ || $2 ~ /^?W??/ ||???   $2 ~ /^NOME/ || $2 ~ /^NAAM/ || $2 ~ /^???/)) ||???  (pages == "cat" && $1 ~ /^NAME/)) {???    if (!insh) {???      insh = 1;???    } else {???      done = 1;???    }???} else if (insh) {???  if ($1 ~ /^\.[Ss][HhYS]/ ||???    (pages == "cat" &&???    ($1 ~ /^S[yYeE]/ || $1 ~ /^DESCRIPTION/ ||???     $1 ~ /^COMMAND/ || $1 ~ /^OVERVIEW/ ||???     $1 ~ /^STRUCTURES/ || $1 ~ /^INTRODUCTION/ ||???     $0 ~ /^[^ ]/))) {???      # end insh for Synopsis, Syntax, but also for???      # DESCRIPTION (e.g., XFree86.1x),???      # COMMAND (e.g., xspread.1)???      # OVERVIEW (e.g., TclCommandWriting.3)???      # STRUCTURES (e.g., XEvent.3x)???      # INTRODUCTION (e.g., TclX.n)???      # and anything at all that begins in Column 1, so ???      # is probably a section header.???    done = 1;???  } else {???    if ($0 ~ progname"-") {  # Fix old cat pages????sub(progname"-", progname" - ");???    }???    if ($0 ~ /[^ \\]-$/) {???      sub(/-$/, "");?  # Handle Hyphenations???      nextjoin = 1;???    } else if ($0 ~ /\\c$/) {???      sub(/\\c$/, "");?  # Handle Continuations???      nextjoin = 1;???    } else???      nextjoin = 0;????    sub(/^.[IB] /, "");       # Kill bold and italics???    sub(/^.BI /, "");         #???    sub(/^.SM /, "");         # Kill small???    sub(/^.Nm /, "");         # Kill bold???    sub(/^.Tn /, "");         # Kill normal??            sub(/^.Li /, "");         # Kill .Li??            sub(/^.Dq /, "");         # Kill .Dq??            sub(/^.Nd */, "- ");      # Convert .Nd to dash???    sub(/\\".*/, "");        # Trim pending comments???    sub(/  *$/, "");          # Trim pending spaces???    sub(/^\.$/, "");          # Kill blank comments???    sub(/^'.*/, "");      # Kill com
11765 grep awk
Pas très claire... c'est pas génant mais bon...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

en fait, il fallait continuer ;)
il t'aurait suffit de faire un

Code : Tout sélectionner

ps -p 13453
pour savoir ce qui le lance...

en l'occurrence, c'est le programme makewhatis qui construit la base whatis qui regroupe le nom et une courte description des pages man, qui te permet de lancer une recherche sur les pages de manuel:

Code : Tout sélectionner

$ whatis makewhatis
makewhatis           (8)  - Cr
makewhatis []        (8)  - Cr
makewhatis           (8)  - Create the whatis database
makewhatis []        (8)  - Create the whatis database
tu peux aussi utiliser "man -k" ou "apropos"

le programme est aussi lancé par le cron.
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

Message par webjdm »

C'est tout a faite cela! :)
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

:resolu:
webjdm
Hankyu
Messages : 43
Inscription : sam. 17 mai 2008, 17:43

Message par webjdm »

C'est tout a faite cela! :lol:
Répondre