Bonsoir,
Sous Debian (Wheezy et Jessie) j'avais un soucis avec Firefox/Iceweasel qui accédait en permanence au disque et du coup celui-ci ne passait jamais en idle.
J'ai essayé d'en savoir plus et j'ai démarré un Firefox en désactivant toutes les extensions et en arrivant sur une page vierge.
Avec un strace sur Firefox j'ai pleins de messages de ce genre:
00:03:11 read(22, "\372", 1) = 1 <0.000042>
00:03:11 futex(0x7fdee43eff0c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x7fdee43eff08, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1 <0.000076>
00:03:11 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000072>
00:03:11 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000057>
00:03:11 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000022>
00:03:11 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000058>
00:03:11 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000023>
00:03:11 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000019>
00:03:11 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000023>
00:03:11 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, -1) = 1 ([{fd=22, revents=POLLIN}]) <4.641282>
00:03:16 read(22, "\372", 1) = 1 <0.000033>
00:03:16 futex(0x7fdeccd7548c, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7fdeccb91838, 4) = 1 <0.000100>
00:03:16 futex(0x7fdec4ddcc90, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000049>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000026>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 1 ([{fd=22, revents=POLLIN}]) <0.000014>
00:03:16 read(22, "\372", 1) = 1 <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000010>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000010>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000010>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000010>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000010>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000010>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, -1) = 1 ([{fd=22, revents=POLLIN}]) <0.000845>
00:03:16 read(22, "\372", 1) = 1 <0.000011>
00:03:16 futex(0x7fdeccd7140c, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7fdeccb91768, 4) = 1 <0.000013>
00:03:16 futex(0x7fdec4d4cf50, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 1 ([{fd=22, revents=POLLIN}]) <0.000011>
00:03:16 read(22, "\372", 1) = 1 <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000011>
00:03:16 futex(0x7fdec916ef8c, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7fdec91c8b78, 4) = 1 <0.000015>
00:03:16 futex(0x7fdec91cf480, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000014>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 1 ([{fd=22, revents=POLLIN}]) <0.000011>
00:03:16 read(22, "\372", 1) = 1 <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000012>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
00:03:16 poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=7, events=POLLIN|POLLPRI}, {fd=10, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=24, events=POLLIN}], 8, 0) = 0 (Timeout) <0.000011>
00:03:16 recvfrom(4, 0x7fdef17d0074, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000011>
En jetant un oeil dans /proc j'ai trouvé les correspondances:
4 -> socket:[15653]
5 -> anon_inode:[eventfd]
7 -> pipe:[15654]
10 -> socket:[15656]
22 -> pipe:[12957]
29 -> socket:[12977]
9 -> socket:[15655]
24 -> socket:[12958]
Et avec lsof | grep 15653:
iceweasel 4474 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Gecko_IOT 4474 4479 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Socket 4474 4480 user 4u unix 0xffff8800a5590480 0t0 15653 socket
JS 4474 4481 user 4u unix 0xffff8800a5590480 0t0 15653 socket
JS 4474 4482 user 4u unix 0xffff8800a5590480 0t0 15653 socket
JS 4474 4483 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Hang 4474 4484 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Timer 4474 4485 user 4u unix 0xffff8800a5590480 0t0 15653 socket
DOM 4474 4524 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Cache 4474 4525 user 4u unix 0xffff8800a5590480 0t0 15653 socket
HTML5 4474 4526 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4535 user 4u unix 0xffff8800a5590480 0t0 15653 socket
localStor 4474 4536 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Cert 4474 4537 user 4u unix 0xffff8800a5590480 0t0 15653 socket
URL 4474 4538 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4539 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4544 user 4u unix 0xffff8800a5590480 0t0 15653 socket
dconf 4474 4545 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Proxy 4474 4546 user 4u unix 0xffff8800a5590480 0t0 15653 socket
gdbus 4474 4547 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4549 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4550 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4634 user 4u unix 0xffff8800a5590480 0t0 15653 socket
mozStorag 4474 4639 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Analysis 4474 4640 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Analysis 4474 4641 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Analysis 4474 4642 user 4u unix 0xffff8800a5590480 0t0 15653 socket
Bref je suis un peu coincé et impossible de savoir d'où cela vient.
Il y a eu un genre de bug similaire sur Firefox mais il arrivait avec pleins d'onglets ouverts (alors que moi je n'en ai qu'un avec une page vierge):
https://bugzilla.mozilla.org/show_bug.cgi?id=508427
Est-ce que quelqu'un aurait un truc pour me permettre d'analyser un peu mieux ce strace de Firefox et savoir pourquoi il fait des trucs en permanence ?
Merci d'avance,
P.S. : ce n'est pas le fameux fsync de Firefox qui empêche le disque dur d'entrer en idle, j'ai vérifié.
# Quel WM ?
Posté par Salk . Évalué à 1.
Tu utilises quel environnement de bureau ? As-tu essayé d'en changer ?
NFS ? iSCSI ? automounter ?
[^] # Re: Quel WM ?
Posté par SaintGermain . Évalué à 1.
J'utilise Gnome (shell).
Pourquoi est-ce que Gnome aurait une influence sur le comportement de Firefox ?
Et sinon pas de NFS, iSCSI ou d'automounter.
# coupable ?
Posté par NeoX . Évalué à 2.
comment as-tu decouvert/penser que c'etait firefox/iceweasel le coupable ?
quels sont les preuves que c'est lui qui est en cause ?
perso je regarderais d'abord avec "powertop"
qui va dire qui consomme du courant (usb, disque, camera, etc)
ensuite un
lsof
pour savoir qui s'en sert (lsof /dev/sdXY
)ca va nous dire quel processus s'en sert.
iostat
devrait permettre d'identifier le plus consommateur parmi les utilisateurs/processus du disque.[^] # Re: coupable ?
Posté par SaintGermain . Évalué à 2.
Relativement simple: sans Firefox (avec ou sans autres applications ouvertes), mon disque se met en veille très rapidement.
Avec Firefox mon disque tourne en permanence.
Est-ce que je fais une erreur de raisonnement ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.