PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/10/2012 10:21:17

Postgres.0
Membre

Swap et Perfs

Bonjour je lance une migration entre deux bases de Postgres 9.1, mais je me rend compte que depuis le début je swap, ce qui plombe mes perfs.
Je dois migrer à partir de 15 tables vers 32 Tables.
ma RAM est 28GB,
shared_buffers=8GB,
effective_cache_size=16Gb
work_mem=256MB
J'utilise des COPY(SELECT ..)
Chacune de mes tables à migrer fait entre 7GB et 9GB.
Quelqu'un aurait-il une idée.

Merci

Hors ligne

#2 26/10/2012 16:05:09

Marc Cousin
Membre

Re : Swap et Perfs

Ça ne devrait pas swapper. Pouvez-vous décrire exactement la procédure que vous suivez ?


Marc.

Hors ligne

#3 29/10/2012 10:01:44

Postgres.0
Membre

Re : Swap et Perfs

Oui, effectivement je ne sais pas que le swap n'est pas vidé.
Par contre, je me demande comment ça se fait que le sharded_buffers est rapidement à 100%.

Hors ligne

#4 29/10/2012 12:44:24

Marc Cousin
Membre

Re : Swap et Perfs

Pouvez-vous expliquer comment vous diagnostiquez que «sharded_buffers est rapidement à 100%.» ?


Marc.

Hors ligne

#5 29/10/2012 12:52:01

kenrio
Membre

Re : Swap et Perfs

j'ai une question : Copy utilise work_mem ?

Hors ligne

#6 29/10/2012 12:53:46

Marc Cousin
Membre

Re : Swap et Perfs

Seulement si c'est un copy sur un ordre sql qui fait un tri ou un hachage. Par exemple:

COPY (SELECT * FROM ma_table ORDER BY col) TO STDOUT.


Marc.

Hors ligne

#7 29/10/2012 13:02:02

kenrio
Membre

Re : Swap et Perfs

ok merci Marc !

Hors ligne

#8 29/10/2012 14:18:28

Postgres.0
Membre

Re : Swap et Perfs

Bonjour Marc,
j'ai installer l'extension pg_buffercache, ensuite j'ai procedé comme indiqué dans la doc DALIBO suivante :
http://www.dalibo.org/glmf107_gestion_m … postgresql

Hors ligne

#9 29/10/2012 15:01:03

Marc Cousin
Membre

Re : Swap et Perfs

Ah ok. Alors, c'est tout à fait normal que le shared_buffers soit à 100%. C'est même son but… avoir un maximum d'entrées dans le cache, en permanence. Ce qui serait anormal, c'est d'en avoir la majorité en dirty, mais même ça, ça peut arriver.

J'aimerais donc savoir quel est le processus qui prend la mémoire. Suivant le système d'exploitation, la méthode pour le déterminer est différente. Avec un Linux, par exemple, ps aux donne une bonne idée (attention, le shared_buffers est comptabilisé comme faisant partie de la mémoire de chaque processus).


Marc.

Hors ligne

#10 29/10/2012 15:14:06

Postgres.0
Membre

Re : Swap et Perfs

ps -aux | grep postgres


Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
postgres  3776  0.0  0.5 6640344 152812 ?      S    09:15   0:00 /usr/pgsql-9.1/bin/postmaster -p 5434 -D /data/pgdata91/data
postgres  3778  0.0  0.0 174936  1132 ?        Ss   09:15   0:00 postgres: logger process
postgres  3780  0.5  8.9 6644588 2569000 ?     Ss   09:15   1:13 postgres: writer process
postgres  3781  0.3  0.0 6643388 17896 ?       Ss   09:15   0:51 postgres: wal writer process
postgres  3782  0.0  0.0 178628  2500 ?        Ss   09:15   0:00 postgres: stats collector process
postgres  4020  0.0  0.0 6645604 10160 ?       Ss   09:29   0:00 postgres: superdba postgres 10.23.11.12(49481) idle
postgres  4303  0.0  0.3 6657096 86560 ?       Ss   09:51   0:01 postgres: superdba base_test 10.23.11.12(49600) idle
postgres  4966  0.0  1.3 6661188 391720 ?      Ss   10:42   0:02 postgres: superdba base_test 10.23.11.12(49849) idle
postgres  5122 51.6  0.8 6802616 239208 ?      Ds   11:21  56:33 postgres: superdba base_prod [local] ANALYZE
postgres  5150 51.8  0.4 6667144 123200 ?      Ds   11:23  55:21 postgres: superdba base_prod [local] CREATE INDEX


Comment pouvez voir la mémoire consommée par chaque process ici, moi je n y comprend pas grand chose.

Hors ligne

#11 29/10/2012 15:17:43

Postgres.0
Membre

Re : Swap et Perfs

Marc,

je me demande si je crée un index est-ce-que cette opération mets des données dans le cash.
Aurai-je besoin d'un analyze aprés la création d'un index.

Hors ligne

#12 29/10/2012 15:19:26

Marc Cousin
Membre

Re : Swap et Perfs

C'est ps aux, pas ps -aux. Heureusement, il a compris quand même.
Les colonnes:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

Ce qui nous intéresse donc c'est RSS (la mémoire utilisée). La subtilité, c'est que RSS augmente au fur et à mesure que les processus manipulent le shared_buffer (c'est à dire quand ils accèdent à des blocs de cache), même si ces blocs sont alloués.

Ce ps aux est pendant un COPY ? (je ne le vois pas dans la liste)


Marc.

Hors ligne

#13 29/10/2012 15:25:43

Postgres.0
Membre

Re : Swap et Perfs

ps aux | grep postgres
postgres  3776  0.0  0.5 6640344 152812 ?      S    09:15   0:00 /usr/pgsql-9.1/bin/postmaster -p 5434 -D /data/pgdata91/data
postgres  3778  0.0  0.0 174936  1132 ?        Ss   09:15   0:00 postgres: logger process
postgres  3780  0.4  8.9 6644588 2570580 ?     Ss   09:15   1:13 postgres: writer process
postgres  3781  0.3  0.0 6643388 17896 ?       Ss   09:15   0:51 postgres: wal writer process
postgres  3782  0.0  0.0 178628  2500 ?        Ss   09:15   0:00 postgres: stats collector process
postgres  4020  0.0  0.0 6645604 10160 ?       Ss   09:29   0:00 postgres: superdba postgres 10.23.11.12(49481) idle
postgres  4303  0.0  0.3 6657096 86560 ?       Ss   09:51   0:01 postgres: superdba base_test 10.23.11.12(49600) idle
postgres  4966  0.0  1.3 6661188 391720 ?      Ss   10:42   0:02 postgres: superdba base_test 10.23.11.12(49849) idle
root      5183  0.0  0.0 191072  3576 pts/4    S    10:55   0:00 sudo su - postgres
root      5189  0.0  0.0 192788  2512 pts/4    S    10:55   0:00 su - postgres
postgres  5190  0.0  0.0 108416  1872 pts/4    S    10:55   0:00 -bash
postgres  5223  0.0  0.0 100924   612 pts/4    S+   10:55   0:00 tail -f postgresql-Mon.log
postgres  5624  0.3  0.8 6645476 246260 ?      Ss   12:24   0:13 postgres: superdba base_test 10.23.11.12(50298) idle
postgres  6293 42.6  0.1 6646108 47908 ?       Rs   13:22   0:11 postgres: superdba base_prod [local] COPY
postgres  6294  0.0  0.0 6644688 6596 ?        Ss   13:22   0:00 postgres: superdba base_prod [local] COPY
postgres  6295 41.4  0.1 6646108 47876 ?       Ds   13:22   0:11 postgres: superdba base_prod [local] COPY
postgres  6296  0.0  0.0 6644688 6608 ?        Ss   13:22   0:00 postgres: superdba base_prod [local] COPY

Hors ligne

#14 29/10/2012 15:26:30

Marc Cousin
Membre

Re : Swap et Perfs

Je ne crois pas que le create index écrive ses données dans le cache (mais pas le temps de vérifier là).

Pour les statistiques, oui, c'est recommandé, même si peu de choses sont collectées (toujours de mémoire, la taille de l'index et le nombre d'enregistrements au moment de l'analyze)


Marc.

Hors ligne

#15 29/10/2012 15:27:52

Marc Cousin
Membre

Re : Swap et Perfs

Ok, donc apparemment, ce ne sont pas les copy qui fuient (le rss reste petit). Un ps aux sans grep serait intéressant, au cas où ça serait autre chose qui consomme de la mémoire.


Marc.

Hors ligne

#16 29/10/2012 16:05:30

Postgres.0
Membre

Re : Swap et Perfs

à quoi correspond exactement le RSS, VSZ, TTY

Hors ligne

#17 29/10/2012 16:13:36

Marc Cousin
Membre

Re : Swap et Perfs

RSS: c'est la quantité de mémoire non swappée mappée par le processus (c'est à dire à laquelle elle accède). Attention, cette mémoire peut être partagée (shared memory, ou fork d'un processus) entre plusieurs
VSZ: c'est la quantité de mémoire mappée par le processus (dont en swap)
TTY: c'est le terminal auquel le processus est attaché. Quand c'est ?, c'est qu'il n'est pas attaché à une console (un démon par exemple).

L'évaluation de la consommation mémoire d'un processus est un peu compliquée sous Linux, et les Unix en général, parce que beaucoup de mémoire est naturellement partagée (par le mécanisme du fork par exemple).


Marc.

Hors ligne

#18 29/10/2012 16:15:09

Postgres.0
Membre

Re : Swap et Perfs

Merci beaucoup

Hors ligne

#19 30/10/2012 11:52:21

Postgres.0
Membre

Re : Swap et Perfs

Bonjour Marc,

j'ai des process qui sont idle, cependant, leur RSS ne vaut pas 0 :

postgres  7909  0.0  0.6 6658892 196032 ?      Ss   07:58   0:01  \_ postgres: superdba  base_sans_part 10.23.11.12(52181) idle
postgres  8056  0.2  4.2 6661736 1219716 ?     Ss   08:10   0:13  \_ postgres: superdba base_sans_part 10.23.11.12(55897) idle

Est-ce-que ça veut dire que c'est de la fuite mémoire?

Hors ligne

#20 30/10/2012 11:53:22

Postgres.0
Membre

Re : Swap et Perfs

Ce matin, je vois que ça SWAP toujours !

Est-ce-que je peux mettre le resultat de ps aux dans un fixhier et l'envoyer sur le forum ?

Hors ligne

#21 30/10/2012 11:56:52

Postgres.0
Membre

Re : Swap et Perfs

Je crois que je vais metter que les process dont le RSS != 0 :

 USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  21424  1092 ?        Ss   Oct29   0:02 /sbin/init
root       809  0.0  0.0  11312   256 ?        S<s  Oct29   0:00 /sbin/udevd -d
root      1990  0.0  0.0  27612   684 ?        S<sl Oct29   0:00 auditd
nslcd     2015  0.0  0.0 441484  1248 ?        Ssl  Oct29   0:01 /usr/sbin/nslcd
root      2028  0.0  0.0 248680  1076 ?        Sl   Oct29   0:00 /sbin/rsyslogd -c 4
root      2085  0.0  0.0   9136   548 ?        Ss   Oct29   0:11 irqbalance
rpc       2099  0.0  0.0  18948   588 ?        Ss   Oct29   0:00 rpcbind
rpcuser   2117  0.0  0.0  23120   740 ?        Ss   Oct29   0:00 rpc.statd
root      2129  0.0  0.0   4540   236 ?        Ss   Oct29   0:00 mdadm --monitor --scan -f --pid-file=/var/run/mdadm/mdadm.pid
root      2184  0.0  0.0  29436   248 ?        Ss   Oct29   0:00 rpc.idmapd
dbus      2262  0.0  0.0  99368  1120 ?        Ssl  Oct29   0:00 dbus-daemon --system
avahi     2274  0.0  0.0  29868  1048 ?        S    Oct29   0:00 avahi-daemon: running [colorado.local]
avahi     2275  0.0  0.0  29740   144 ?        Ss   Oct29   0:00 avahi-daemon: chroot helper
root      2285  0.0  0.0 189008  1632 ?        Ss   Oct29   0:00 cupsd -C /etc/cups/cupsd.conf
root      2310  0.0  0.0   4064   472 ?        Ss   Oct29   0:00 /usr/sbin/acpid
68        2319  0.0  0.0  27464  1856 ?        Ss   Oct29   0:00 hald
root      2320  0.0  0.0  18092   656 ?        S    Oct29   0:00 hald-runner
root      2348  0.0  0.0  20208   608 ?        S    Oct29   0:00 hald-addon-input: Listening on /dev/input/event0
68        2358  0.0  0.0  17792   696 ?        S    Oct29   0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
root      2383  0.0  0.0 392100  1044 ?        Ssl  Oct29   0:00 automount --pid-file /var/run/autofs.pid
root      2402  0.0  0.0  63940   512 ?        Ss   Oct29   0:00 /usr/sbin/sshd
ntp       2410  0.0  0.0  32216  1136 ?        Ss   Oct29   0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root      2486  0.0  0.0  78536  1992 ?        Ss   Oct29   0:00 /usr/libexec/postfix/master
postfix   2496  0.0  0.0  80776  2008 ?        S    Oct29   0:00 qmgr -l -t fifo -u
root      2497  0.0  0.0 265128  3632 ?        Ss   Oct29   0:00 /usr/sbin/abrtd
root      2505  0.0  0.0 175448  1216 ?        Ss   Oct29   0:00 /usr/sbin/httpd
apache    2506  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2508  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2509  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2510  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2511  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2512  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2513  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
apache    2515  0.0  0.0 177540   740 ?        S    Oct29   0:00 /usr/sbin/httpd
root      2521  0.0  0.0 117172   840 ?        Ss   Oct29   0:00 crond
root      2532  0.0  0.0  21412   308 ?        Ss   Oct29   0:00 /usr/sbin/atd
root      2542  0.0  0.0 100912   552 ?        Ss   Oct29   0:00 rhnsd
root      2550  0.0  0.0  23004   160 ?        Ss   Oct29   0:00 /usr/sbin/oddjobd -p /var/run/oddjobd.pid -t 300
root      2564  0.0  0.0   4048   460 tty1     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty1
root      2566  0.0  0.0   4048   460 tty2     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty2
root      2568  0.0  0.0   4048   460 tty3     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty3
root      2570  0.0  0.0   4048   460 tty4     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty4
root      2572  0.0  0.0   4048   460 tty5     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty5
root      2580  0.0  0.0   4048   460 tty6     Ss+  Oct29   0:00 /sbin/mingetty /dev/tty6
root      2581  0.0  0.0  12364   360 ?        S<   Oct29   0:00 /sbin/udevd -d
root      2582  0.0  0.0  12364   360 ?        S<   Oct29   0:00 /sbin/udevd -d
postgres  2685  0.0  0.3 6640348 99488 ?       S    Oct29   0:01 /usr/pgsql-9.1/bin/postmaster -p 5434 -D /data/pgdata91/data
postgres  2687  0.0  0.0 174940   700 ?        Ss   Oct29   0:00 postgres: logger process
postgres  2692  0.4 16.4 6644596 4719328 ?     Ss   Oct29   3:22 postgres: writer process
postgres  2693  0.3  0.0 6643392 17300 ?       Ss   Oct29   2:29 postgres: wal writer process
postgres  2694  0.0  0.0 178632  1912 ?        Ss   Oct29   0:01 postgres: stats collector process
1611      2747  0.0  0.0 110548   572 ?        S    Oct29   0:00 -bash
1611      2757  0.0  0.0 110548   824 ?        S    Oct29   0:00 -bash
root      6189  1.3  0.0      0     0 ?        D    04:06   4:34 [flush-253:2]
root      7872  0.0  0.0 119428  4796 ?        Ss   07:57   0:00 sshd: user2 [priv]
user2   7877  0.0  0.0 119428  1936 ?        S    07:57   0:00 sshd: user2@pts/1
user2   7878  0.0  0.0 110548  1928 pts/1    Ss+  07:57   0:00 -bash
postgres  7908  0.0  0.0 6645556 10712 ?       Ss   07:58   0:00 postgres: superdba postgres 10.23.11.12(52180) idle
postgres  7909  0.0  0.6 6658892 196036 ?      Ss   07:58   0:01 postgres: superdba base_test 10.23.11.12(52181) idle
root      8018  0.0  0.0 119428  4796 ?        Ss   08:09   0:00 sshd: user2 [priv]
user2   8022  0.0  0.0 119428  1936 ?        S    08:09   0:00 sshd: user2@pts/2
user2   8023  0.0  0.0 110548  1924 pts/2    Ss   08:09   0:00 -bash
postgres  8056  0.2  4.2 6661736 1219716 ?     Ss   08:10   0:14 postgres: superdba base_test  10.23.11.12(55897) idle
root      8134  0.0  0.0 119428  4792 ?        Ss   08:21   0:00 sshd: user2 [priv]
user2   8138  0.0  0.0 119428  1932 ?        S    08:21   0:00 sshd: user2@pts/3
user2   8023  0.0  0.0 110548  1924 pts/2    Ss   08:09   0:00 -bash
postgres  8056  0.2  4.2 6661736 1219716 ?     Ss   08:10   0:14 postgres: superdba base_test 10.23.11.12(55897) idle
root      8134  0.0  0.0 119428  4792 ?        Ss   08:21   0:00 sshd: user2 [priv]
user2   8138  0.0  0.0 119428  1932 ?        S    08:21   0:00 sshd: user2@pts/3
user2   8139  0.0  0.0 110548  1920 pts/3    Ss   08:21   0:00 -bash
root      8175  0.0  0.0 191072  3612 pts/3    S    08:23   0:00 sudo su - postgres
root      8186  0.0  0.0 192788  2508 pts/3    S    08:23   0:00 su - postgres
postgres  8187  0.0  0.0 108416  1872 pts/3    S    08:23   0:00 -bash
postgres  8218  0.0  0.0 100924   612 pts/3    S+   08:23   0:00 tail -f postgresql-Tue.log
root      8382  0.0  0.0 119376  4292 ?        Ss   08:30   0:00 sshd: user1 [priv]
user1   8386  0.0  0.0 119376  1832 ?        S    08:30   0:00 sshd: user1@pts/4
user1   8387  0.0  0.0 110512  1952 pts/4    Ss   08:30   0:00 -bash
root      8425  0.0  0.0 119376  4292 ?        Ss   08:32   0:00 sshd: user4 [priv]
1611      8429  0.0  0.0 119376  1820 ?        S    08:32   0:00 sshd: user4@pts/5
1611      8430  0.0  0.0 110548  1900 pts/5    Ss   08:32   0:00 -bash
1611      8453  0.0  0.0 170476  2896 pts/5    S+   08:32   0:00 psql service=service_prod
postgres  8454  0.0  0.1 6647060 48968 ?       Ss   08:32   0:00 postgres: superdba base_prod [local] idle
root      8462  0.0  0.0 119376  4284 ?        Ss   08:33   0:00 sshd: user4 [priv]
1611      8466  0.0  0.0 119376  1824 ?        S    08:33   0:00 sshd: user4@pts/6
1611      8467  0.0  0.0 110548  1972 pts/6    Ss+  08:33   0:00 -bash
root      8671  0.0  0.0      0     0 ?        S    08:53   0:00 [flush-253:4]
1611      8701  0.0  0.0 106084  1264 ?        S    08:56   0:00 /bin/bash ./charger_niveau.sh axis 1
1611      8711  0.0  0.0 106084  1264 ?        S    08:56   0:00 /bin/bash ./charger_niveau.sh c3 1
1611      8717  0.0  0.0 106080  1224 ?        S    08:56   0:00 /bin/bash ./extraire_niveau.sh service=service_prod axis 1 256
1611      8727  0.0  0.0 106080  1220 ?        S    08:56   0:00 /bin/bash ./extraire_niveau.sh service=service_prod c3 1 256
1611      8729  0.0  0.0 170316  2404 ?        S    08:56   0:00 psql service=service_prod -c  SET work_mem = '256'; COPY
1611      8730  0.0  0.0 170316  2404 ?        S    08:56   0:00 psql service=service_prod -c  SET work_mem = '256'; COPY
1611      8731  0.0  0.0 170316  2412 ?        S    08:56   0:00 psql service=service_prod -c COPY
1611      8732  0.0  0.0 170316  2412 ?        S    08:56   0:00 psql service=service_prod -c COPY
postgres  8733 30.7  0.2 6647268 69580 ?       Ds   08:56  14:16 postgres: superdba base_prod [local] COPY
postgres  8734  0.0  0.0 6644692 6072 ?        Ss   08:56   0:00 postgres: superdba base_prod [local] COPY
postgres  8735 31.0  0.2 6647268 69704 ?       Ds   08:56  14:22 postgres: superdba base_prod [local] COPY
postgres  8736  0.0  0.0 6644692 6076 ?        Ss   08:56   0:00 postgres: superdba base_prod [local] COPY
root      8818  0.0  0.0 119428  4796 ?        Ss   09:00   0:00 sshd: user2 [priv]
user2   8823  0.0  0.0 119428  1844 ?        S    09:00   0:00 sshd: user2@pts/7
user2   8824  0.0  0.0 110548  1936 pts/7    Ss+  09:00   0:00 -bash
root      8956  0.0  0.0 119376  4288 ?        Ss   09:04   0:00 sshd: user4 [priv]
1611      8960  0.0  0.0 119376  1736 ?        S    09:04   0:00 sshd: user4@pts/8
1611      8961  0.0  0.0 110548  1972 pts/8    Ss   09:04   0:00 -bash
root      9241  0.0  0.0 119376  4288 ?        Ss   09:13   0:00 sshd: user3 [priv]
1623      9245  0.0  0.0 119376  1724 ?        S    09:13   0:00 sshd: user3@pts/9
1623      9246  0.0  0.0 110548  1900 pts/9    Ss+  09:13   0:00 -bash
user1  14301  1.4  0.0  17752  1556 pts/4    S+   09:39   0:03 htop
root     14310  0.0  0.0 119376  4268 ?        Ss   09:40   0:00 sshd: user2 [priv]
user2  14314  0.0  0.0 119524  1812 ?        S    09:40   0:00 sshd: user2@notty
user2  14315  0.0  0.0  57284  2200 ?        Ss   09:40   0:00 /usr/libexec/openssh/sftp-server
user2  14380  0.0  0.0 105940   948 pts/2    S+   09:42   0:00 awk -F   {print "TRUNCATE TABLE "$1"."$3" CASCADE;";}
user2  14381  0.0  0.0 170320  2444 pts/2    S+   09:42   0:00 psql service=base_test postgres 14382 21.2  0.1 6644628 51132 ?       Ds   09:42   0:05 postgres: superdba base_test  [local] TRUNCATE TABLE
1611     14388  4.0  0.0 110140  1120 pts/8    R+   09:43   0:00 ps aux
postfix  26976  0.0  0.0  80708  3184 ?        S    09:22   0:00 pickup -l -t fifo -u.

Alors quelqu'un saurat'il m'expliquer pourquoi mon serveur SWAP ?

Dernière modification par Postgres.0 (30/10/2012 11:58:17)

Hors ligne

#22 30/10/2012 12:22:14

Marc Cousin
Membre

Re : Swap et Perfs

Je pense que les seuls qui ont un RSS à zéro sont des thread noyaux (leur nom est entouré de crochet). Je ne vois pas vraiment de processus qui soit susceptible de faire swapper le système ici. Qu'est-ce qui fait dire que ça swap ? avec vmstat ?


Marc.

Hors ligne

#23 30/10/2012 14:29:33

Postgres.0
Membre

Re : Swap et Perfs

Quand je faits htop, je vois que le swap est utilisé.

vmstat :

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0 541144 1548372   4324 25560436    3    3   673  1022    8   24  4  0 91  5  0


Par contre j'aimerai bien avoir des reponses à ce post :


Postgres.0 a écrit :

Bonjour Marc,

j'ai des process qui sont idle, cependant, leur RSS ne vaut pas 0 :

postgres  7909  0.0  0.6 6658892 196032 ?      Ss   07:58   0:01  \_ postgres: superdba  base_sans_part 10.23.11.12(52181) idle
postgres  8056  0.2  4.2 6661736 1219716 ?     Ss   08:10   0:13  \_ postgres: superdba base_sans_part 10.23.11.12(55897) idle

Est-ce-que ça veut dire que c'est de la fuite mémoire?

Merci

Hors ligne

#24 30/10/2012 14:55:05

Marc Cousin
Membre

Re : Swap et Perfs

- Avoir des données en swap n'est pas en soit un problème. Ce qui est problématique, c'est le temps passé à monter et descendre des données entre le swap et la mémoire. Pour ça, il faut lancer une commande comme «vmstat 1» (pour avoir un relevé par seconde), et surveiller les colonnes si et so.
- Aucun programme n'a une RSS à 0. Ça voudrait dire un programme qui ne consomme pas de mémoire. Les seuls pour lesquels vous avez 0, ce sont des threads du noyau linux (noms entre crochets dans ps), simplement parce que leur mémoire n'est pas comptabilisée comme pour les processus normaux.


Marc.

Hors ligne

Pied de page des forums