Retourner aux forums || Retourner au forum Linux.general

Linux.general : CPU usage per user ...

Posté par Cyril Feraudet () le 07 janvier 2008
0
Bonjour à tous, Guru Linux dans ma société, je me suis retrouvé comme un con devant une question toute bête d'un utilisateur : Quel est l'équivalant de `prstat -t` (sous Solaris) pour Linux ? Pour info prstat est une sorte de "top" pour Solaris et l'option "-t" permet de faire l'affichage par user. Grossomodo comment agréger par user les infos de la commande top ?

--
Lab tests show that use of micro$oft causes cancer in lab animals
> Lire le message (12 commentaires, moyenne: 1,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

htop

Posté par castorpilot () le 07/01/2008 à 10:07. (lien). Évalué à 1.

(reponse un peu à coté de la plaque)
La commande htop, en plus d'etre jolie avec tout plein de couleurs, permet de faire un "sort by user".

  • [^]Re: htop

    Posté par castorpilot () le 07/01/2008 à 10:13. (lien). Évalué à 1.

    Sinon, avec top, en jouant avec les touches < et >, on doit également pouvoir retrouver ce comportement.

  • [^]Re: htop

    Posté par Cyril Feraudet () le 07/01/2008 à 10:14. (lien). Évalué à 1.

    Merci castorpilot,

    Je ne connaissais pas htop, il est un peu plus sympa que top, c'est vrai.
    Malheureusement, il ne me sort pas d'utilisation agrégée.

    --
    Lab tests show that use of micro$oft causes cancer in lab animals
  • [^]Re: htop

    Posté par Cyril Feraudet () le 07/01/2008 à 10:19. (lien). Évalué à 1.

    Voici la sortie de prstat -t :


    NPROC USERNAME SIZE RSS MEMORY TIME CPU
    184 root 901M 491M 0.8% 5:23.23 0.3%
    5 sysdba 11M 9000K 0.0% 0:00.02 0.0%
    10 oragestp 1666M 1322M 2.4% 0:01.35 0.0%
    21 oraindi 5625M 5128M 9.4% 0:19.03 0.0%
    2 sybportf 9920K 9360K 0.0% 0:00.00 0.0%
    13 orawpepe 2408M 1898M 3.5% 0:02.14 0.0%
    13 orarfp 2285M 1811M 3.3% 0:00.46 0.0%
    9 oramatpe 1197M 877M 1.6% 0:01.51 0.0%
    16 orasib 3607M 2933M 5.4% 0:00.44 0.0%
    18 oraintra 1886M 1488M 2.7% 0:00.55 0.0%
    9 oraharpe 1197M 876M 1.6% 0:00.46 0.0%
    20 oratrane 2903M 2454M 4.5% 0:03.44 0.0%
    13 oraclic 1886M 1412M 2.6% 0:39.36 0.0%
    9 oraevrep 2940M 2745M 5.0% 0:00.27 0.0%
    24 orasiban 4074M 3119M 5.7% 0:01.42 0.0%
    9 oracegct 1206M 878M 1.6% 0:00.48 0.0%
    9 oraclamd 1277M 1071M 2.0% 0:00.24 0.0%
    7 sybidee 15G 15G 29% 0:57.20 0.0%
    1 daemon 2584K 1872K 0.0% 0:00.00 0.0%
    12 oraacent 3162M 2362M 4.3% 0:00.48 0.0%
    10 oraprosl 1858M 1635M 3.0% 0:01.40 0.0%
    10 orabanto 800M 704M 1.3% 0:01.33 0.0%
    14 orabec 2779M 1836M 3.4% 0:20.30 0.0%
    10 orabanfi 768M 672M 1.2% 0:02.51 0.0%
    10 oraagis 1120M 775M 1.4% 1:41.26 0.0%
    11 oracaam 2777M 2412M 4.4% 0:00.50 0.0%

    Cela me permet de trouver immédiatement le user consomateur et de grapher ...

    --
    Lab tests show that use of micro$oft causes cancer in lab animals
    • [^]Re: htop

      Posté par castorpilot () le 07/01/2008 à 11:36. (lien). Évalué à 1.

      Au temps pour moi, j'avais mal compris le sens de "agréger". En effet, bien pratique ce prstat ...
      Je ne vois pas d'autre moyen qu'une ligne du genre

      ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f%\t%.2f%\n",num[user], user, $cpu[user], mem[user]) }'

      Si quelqu'un a une meilleure idée (sans script) .

      • [^]Re: htop

        Posté par Cyril Feraudet () le 07/01/2008 à 12:09. (lien). Évalué à 1.

        Celle là me convient (tant qu'un copier/coller est possible).

        Merci

        --
        Lab tests show that use of micro$oft causes cancer in lab animals
        • [^]Re: htop

          Posté par castorpilot () le 07/01/2008 à 13:49. (lien). Évalué à 2.

          Ok, je corrige juste une faute de frappe (un $ en trop)

          ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f%\t%.2f%\n",num[user], user, cpu[user], mem[user]) }'

    • [^]Re: htop

      Posté par -=[ Benoit Plessis ]=- (page perso, ) le 08/01/2008 à 09:36. (lien). Évalué à 1.

      Yop,

      je concept m'intéressait aussi j'ai essayé de coller au mieux
      de la sortie de ton exemple:
      http://www.plessis.info/perl/prstat.pl

      --
      Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse" (traduction libr

top

Posté par jiyuu () le 07/01/2008 à 15:56. (lien). Évalué à 1.

Une fois la commande `top` lancee, tu peux afficher que les processus de certains utilisateurs en appuyant sur la touche `u` puis en entrant un nom d'utilisateur. (ne rien mettre comme nom pour revenir a l'affichage normal).

Ensuite la touche `P` majuscule pour classer selon la consommation CPU ou `M` majuscule pour classer selon la consommation memoire et `R` majuscule pour inverser le classement.

En esperant que cela reponde a ton probleme.

  • [^]Re: top

    Posté par Cyril Feraudet () le 07/01/2008 à 16:15. (lien). Évalué à 1.

    Merci jiyuu,

    En fait je suis à la recherche des informations de consomation cpu et mémoire agrégée par utilisateur.

    ex:
    user cpu mem
    root 25% 200M
    www 15% 80M
    etc ...

    Et non la liste de leurs process.

    Le script de castorpilot le fait :
    ps -eo user,pcpu,pmem | tail -n +2 | awk '{num[$1]++; cpu[$1] += $2; mem[$1] += $3} END{printf("NPROC\tUSER\tCPU\tMEM\n"); for (user in cpu) printf("%d\t%s\t%.2f%\t%.2f%\n",num[user], user, cpu[user], mem[user]) }'

    Si un top -qquechose ou une autre commande le faisait ça serait bien utile ...

    --
    Lab tests show that use of micro$oft causes cancer in lab animals

Y'a aussi...

Posté par Christophe --- () le 07/01/2008 à 22:55. (lien). Évalué à 3.

...la commande 'w' qui va peut-être t'aider ?

  • [^]Re: Y'a aussi...

    Posté par Cyril Feraudet () le 08/01/2008 à 07:57. (lien). Évalué à 1.

    La commande w ne m'indique que la consomation des users ayant un tty et non tout ceux des démons et autres proccess.

    Mais dans l'idée c'est ce genre d'affichage que je recherche ...

    --
    Lab tests show that use of micro$oft causes cancer in lab animals

Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.general