Page 1 sur 1

[Awk] ralentissements [RESOLU]

Publié : dim. 20 juil. 2008, 11:54
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:

Publié : dim. 20 juil. 2008, 11:58
par marc[i1]
c'est surement cron :)
par défaut arch fait tourner cron.daily à minuit

Publié : dim. 20 juil. 2008, 13:36
par webjdm
OK merci, je trouvais cela étrange :shock:

Publié : dim. 20 juil. 2008, 16:34
par IdoMcFly
surement la mise à jour de la base de donnée pour locate

Publié : dim. 20 juil. 2008, 18:58
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.

Publié : dim. 20 juil. 2008, 19:16
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

Publié : dim. 20 juil. 2008, 19:28
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?

Publié : lun. 21 juil. 2008, 00:09
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...

Publié : lun. 21 juil. 2008, 00:38
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.

Publié : dim. 27 juil. 2008, 00:12
par webjdm
C'est tout a faite cela! :)

Publié : dim. 27 juil. 2008, 16:15
par tuxce
:resolu:

Publié : dim. 27 juil. 2008, 22:39
par webjdm
C'est tout a faite cela! :lol: