une quetion simple a propos de la commande time et de l'utilisation CPU
sous linux. Je mesure le temps necessaire a la sauvegarde d'une base de
donnée de 7G.
pourcent 6,13%
real 17m28.692s
user 0m34.230s
sys 0m30.060s
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15
minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui
tourne sur la becane)
Cela signifie aussi que mon job à pris en moyenne 6.13% du CPU. Pas
vraiment efficace. Le probleme viendrait t-il de postgres ?
Comment expliquer cela quand on sais qu'un gzip /var/tmp/base_bench.dump
prend a peu pres 95% du CPU.
De plus, je tourne a 200MB/s en ecriture sur disque donc le probleme ne
vient pas de la.
une quetion simple a propos de la commande time et de l'utilisation CPU sous linux. Je mesure le temps necessaire a la sauvegarde d'une base de donnée de 7G.
pourcent 6,13% real 17m28.692s user 0m34.230s sys 0m30.060s
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Que fait exactement pg_dump? N'est-ce pas un wrapper d'autres commandes/utilitaires? Je n'ai pas lu le man avec rigueur, mais si je fait un script "toto" qui copie de gros fichiers et utilise donc "cp", eh bien "toto" ne fout rien en attendant que "cp" finisse. Non?
Cela signifie aussi que mon job à pris en moyenne 6.13% du CPU. Pas vraiment efficace.
En meme temps si un dump de database me prend 99%, je m'inquieterai aussi.
Le probleme viendrait t-il de postgres ?
Pas forcément.
Comment expliquer cela quand on sais qu'un gzip /var/tmp/base_bench.dump prend a peu pres 95% du CPU.
Comparer une compression (qui necessite du calcul) et un dump (qui necessite... de copier) n'est pas vraiment judicieux.
De plus, je tourne a 200MB/s en ecriture sur disque donc le probleme ne vient pas de la.
Tu l'a mesuré en meme temps que tu faisai le dump?
Merci de vos reponses
De rien.
c-note - <f07tra$i84$1@biggoron.nerim.net> :
Bonjour a tous,
Bonjour,
une quetion simple a propos de la commande time et de l'utilisation CPU
sous linux. Je mesure le temps necessaire a la sauvegarde d'une base de
donnée de 7G.
pourcent 6,13%
real 17m28.692s
user 0m34.230s
sys 0m30.060s
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15
minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui
tourne sur la becane)
Que fait exactement pg_dump?
N'est-ce pas un wrapper d'autres commandes/utilitaires?
Je n'ai pas lu le man avec rigueur, mais si je fait un script "toto" qui
copie de gros fichiers et utilise donc "cp", eh bien "toto" ne fout rien en
attendant que "cp" finisse. Non?
Cela signifie aussi que mon job à pris en moyenne 6.13% du CPU. Pas
vraiment efficace.
En meme temps si un dump de database me prend 99%, je m'inquieterai aussi.
Le probleme viendrait t-il de postgres ?
Pas forcément.
Comment expliquer cela quand on sais qu'un gzip /var/tmp/base_bench.dump
prend a peu pres 95% du CPU.
Comparer une compression (qui necessite du calcul) et un dump (qui
necessite... de copier) n'est pas vraiment judicieux.
De plus, je tourne a 200MB/s en ecriture sur disque donc le probleme ne
vient pas de la.
Tu l'a mesuré en meme temps que tu faisai le dump?
une quetion simple a propos de la commande time et de l'utilisation CPU sous linux. Je mesure le temps necessaire a la sauvegarde d'une base de donnée de 7G.
pourcent 6,13% real 17m28.692s user 0m34.230s sys 0m30.060s
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Que fait exactement pg_dump? N'est-ce pas un wrapper d'autres commandes/utilitaires? Je n'ai pas lu le man avec rigueur, mais si je fait un script "toto" qui copie de gros fichiers et utilise donc "cp", eh bien "toto" ne fout rien en attendant que "cp" finisse. Non?
Cela signifie aussi que mon job à pris en moyenne 6.13% du CPU. Pas vraiment efficace.
En meme temps si un dump de database me prend 99%, je m'inquieterai aussi.
Le probleme viendrait t-il de postgres ?
Pas forcément.
Comment expliquer cela quand on sais qu'un gzip /var/tmp/base_bench.dump prend a peu pres 95% du CPU.
Comparer une compression (qui necessite du calcul) et un dump (qui necessite... de copier) n'est pas vraiment judicieux.
De plus, je tourne a 200MB/s en ecriture sur disque donc le probleme ne vient pas de la.
Tu l'a mesuré en meme temps que tu faisai le dump?
Merci de vos reponses
De rien.
Nicolas George
c-note wrote in message <f07tra$i84$:
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je soupçonne que ce n'est pas ce que tu veux.
c-note wrote in message <f07tra$i84$1@biggoron.nerim.net>:
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15
minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui
tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa
tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins
quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je
soupçonne que ce n'est pas ce que tu veux.
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je soupçonne que ce n'est pas ce que tu veux.
c-note
c-note wrote in message <f07tra$i84$:
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je soupçonne que ce n'est pas ce que tu veux.
En fait, pg_dump prend 5% de CPU et postmaster 95%. pg_dump delegue (socket ou fork) le travail a la commande postmaster.
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
c-note wrote in message <f07tra$i84$1@biggoron.nerim.net>:
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15
minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui
tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa
tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins
quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je
soupçonne que ce n'est pas ce que tu veux.
En fait, pg_dump prend 5% de CPU et postmaster 95%. pg_dump delegue
(socket ou fork) le travail a la commande postmaster.
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster
) a utiliser les 4 CPUs.
D'apres les résultats ci-dessus, le programme pg_dump a passé environ 15 minute a rien foutre ou a faire autre chose (bizare y'a rien d'autre qui tourne sur la becane)
Il a passé environ 15 minutes à attendre que ton disque dur positionne sa tête de lecture et fasse des transferts DMA.
Tu peux essayer de désactiver le DMA sur le disque dur : ça ira au moins quatre fois moins vite, mais tu seras à 100% de CPU. Quelque part, je soupçonne que ce n'est pas ce que tu veux.
En fait, pg_dump prend 5% de CPU et postmaster 95%. pg_dump delegue (socket ou fork) le travail a la commande postmaster.
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
c-note wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster
) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS.
De plus, toutes les taches ne sont pas forément "repartissables".
Par contre, tu peux monter la priorité de ta tache avec "nice".
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
c-note
c-note wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus :-)
En gros mon probleme est le suibant :
sur un Bi Bi-Xeon (4 CPU) lancer une compression (ou tout autre effort CPU) prend le meme temps (a peu pres) que lorsque on lance 4.
En effet, une compression (ou un postmaster) sollicite un CPU.
Donc j'en reviens a la case depart : Y a t-il un moyen de forker le postmaster en 4 ?
Merci
c-note wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster
) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS.
De plus, toutes les taches ne sont pas forément "repartissables".
Par contre, tu peux monter la priorité de ta tache avec "nice".
l' OS attribue une priorité forte au process postmaster (19/20 je
crois). Donc la j'aurais du mal a optimiser plus :-)
En gros mon probleme est le suibant :
sur un Bi Bi-Xeon (4 CPU) lancer une compression (ou tout autre effort
CPU) prend le meme temps (a peu pres) que lorsque on lance 4.
En effet, une compression (ou un postmaster) sollicite un CPU.
Donc j'en reviens a la case depart : Y a t-il un moyen de forker le
postmaster en 4 ?
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'OS. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus :-)
En gros mon probleme est le suibant :
sur un Bi Bi-Xeon (4 CPU) lancer une compression (ou tout autre effort CPU) prend le meme temps (a peu pres) que lorsque on lance 4.
En effet, une compression (ou un postmaster) sollicite un CPU.
Donc j'en reviens a la case depart : Y a t-il un moyen de forker le postmaster en 4 ?
Merci
octane
On 20 avr, 11:00, "Mihamina Rakotomandimby (R12y)" wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'O S. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
tu peux essayer taskset pour fixer un process sur un CPU. Dans certain cas les process tournent plus vite, le scheduler ne perd pas son temps a changer le contexte d'un CPU a un autre.
Ensuite, si un programme n'est pas prévu pour tourner sur du multiCPU, je ne pense pas que l'OS pourra le faire.
On 20 avr, 11:00, "Mihamina Rakotomandimby (R12y)"
<miham...@rktmb.org> wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster
) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'O S.
De plus, toutes les taches ne sont pas forément "repartissables".
Par contre, tu peux monter la priorité de ta tache avec "nice".
tu peux essayer taskset pour fixer un process sur un CPU. Dans
certain cas les process tournent plus vite, le scheduler ne perd pas
son temps a changer le contexte d'un CPU a un autre.
Ensuite, si un programme n'est pas prévu pour tourner sur
du multiCPU, je ne pense pas que l'OS pourra le faire.
On 20 avr, 11:00, "Mihamina Rakotomandimby (R12y)" wrote:
Par contre, y aurait-il un moyen de forcer pg_dump (ou plutot postmaster ) a utiliser les 4 CPUs.
Je _pense_ que la répartition sur les processeurs est du ressort de l'O S. De plus, toutes les taches ne sont pas forément "repartissables". Par contre, tu peux monter la priorité de ta tache avec "nice".
tu peux essayer taskset pour fixer un process sur un CPU. Dans certain cas les process tournent plus vite, le scheduler ne perd pas son temps a changer le contexte d'un CPU a un autre.
Ensuite, si un programme n'est pas prévu pour tourner sur du multiCPU, je ne pense pas que l'OS pourra le faire.
Mihamina Rakotomandimby (R12y)
c-note wrote:
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...] DESCRIPTION Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable). [...]
Si il est à 19, alors c'est une priorité _faible_. Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails?
c-note wrote:
l' OS attribue une priorité forte au process postmaster (19/20 je
crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...]
DESCRIPTION
Run COMMAND with an adjusted niceness,
which affects process scheduling.
With no COMMAND, print the current niceness.
Nicenesses range from -20 (most favorable scheduling)
to 19 (least favorable).
[...]
Si il est à 19, alors c'est une priorité _faible_.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce
n'est pas jouable.
En meme temps, que fait postmaster? Il envoie des mails?
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...] DESCRIPTION Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable). [...]
Si il est à 19, alors c'est une priorité _faible_. Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails?
c-note
c-note wrote:
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...] DESCRIPTION Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable). [...]
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20. Mon process tourne bien avec une forte priorité.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
c-note wrote:
l' OS attribue une priorité forte au process postmaster (19/20 je
crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...]
DESCRIPTION
Run COMMAND with an adjusted niceness,
which affects process scheduling.
With no COMMAND, print the current niceness.
Nicenesses range from -20 (most favorable scheduling)
to 19 (least favorable).
[...]
Si il est à 19, alors c'est une priorité _faible_.
J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20. Mon process tourne bien avec une forte priorité.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce
n'est pas jouable.
En meme temps, que fait postmaster? Il envoie des mails?
Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
l' OS attribue une priorité forte au process postmaster (19/20 je crois). Donc la j'aurais du mal a optimiser plus
Tu n'a pas lu le man. Tu devrais.
[...] DESCRIPTION Run COMMAND with an adjusted niceness, which affects process scheduling. With no COMMAND, print the current niceness. Nicenesses range from -20 (most favorable scheduling) to 19 (least favorable). [...]
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20. Mon process tourne bien avec une forte priorité.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
Mihamina Rakotomandimby (R12y)
c-note wrote:
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
:~$ man postmaster No manual entry for postmaster :~$ apt-cache search postmaster
Et une recherche sur google ne me donne rien.
c-note wrote:
Si il est à 19, alors c'est une priorité _faible_.
J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors
ce n'est pas jouable.
En meme temps, que fait postmaster? Il envoie des mails?
Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
mihamina@mihadev:~$ man postmaster
No manual entry for postmaster
mihamina@mihadev:~$ apt-cache search postmaster
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
:~$ man postmaster No manual entry for postmaster :~$ apt-cache search postmaster
Et une recherche sur google ne me donne rien.
c-note
c-note wrote:
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
:~$ man postmaster No manual entry for postmaster :~$ apt-cache search postmaster
Et une recherche sur google ne me donne rien.
postmaster est inclus dans PostgreSQL
man postmaster
postmaster is the PostgreSQL multiuser database server. In order for a client application to access a database it connects (over a network or locally) to a running postmaster. The postmaster then starts a separate server process (``postgres(1)'') to handle the connection. The postmas- ter also manages the communication among server processes.
bla bla bla
apt-cache search postgres devrait te renvoyer tous un tas de paquets
c-note wrote:
Si il est à 19, alors c'est une priorité _faible_.
J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors
ce n'est pas jouable.
En meme temps, que fait postmaster? Il envoie des mails?
Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
mihamina@mihadev:~$ man postmaster
No manual entry for postmaster
mihamina@mihadev:~$ apt-cache search postmaster
Et une recherche sur google ne me donne rien.
postmaster est inclus dans PostgreSQL
man postmaster
postmaster is the PostgreSQL multiuser database server. In order for a
client application to access a database it connects (over a network or
locally) to a running postmaster. The postmaster then starts a separate
server process (``postgres(1)'') to handle the connection. The postmas-
ter also manages the communication among server processes.
bla bla bla
apt-cache search postgres devrait te renvoyer tous un tas de paquets
Si il est à 19, alors c'est une priorité _faible_. J'ai écrit 19/20 (en reference a ma moyenne au bac :-) il fallait lire
-19/-20.
Si "postmaster" n'a pas été prévu pour tourner sur plusieurs CPU, alors ce n'est pas jouable. En meme temps, que fait postmaster? Il envoie des mails? Non postmaster n'envoie pas de mail. Je te renvoie a "man postmaster" :-)
:~$ man postmaster No manual entry for postmaster :~$ apt-cache search postmaster
Et une recherche sur google ne me donne rien.
postmaster est inclus dans PostgreSQL
man postmaster
postmaster is the PostgreSQL multiuser database server. In order for a client application to access a database it connects (over a network or locally) to a running postmaster. The postmaster then starts a separate server process (``postgres(1)'') to handle the connection. The postmas- ter also manages the communication among server processes.
bla bla bla
apt-cache search postgres devrait te renvoyer tous un tas de paquets