• # strace

    Posté par . En réponse au message emacs bouffe 100% du CPU. Évalué à 1.

    ça donne quoi un strace emacs -q ?

    Chez moi, après une logorrhée qu'on peut aisément oublier durant la phase de démarrage, sans rien toucher dans la fenêtre, il boucle sur des blocs du genre :

    --- SIGIO (I/O possible) @ 0 (0) ---
    sigreturn() = ? (mask now [])
    read(3, 0x9a17c48, 4096) = -1 EAGAIN (Resource temporarily unavailable)
    poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
    gettimeofday({1308577848, 533076}, NULL) = 0
    read(3, 0x9a17c48, 4096) = -1 EAGAIN (Resource temporarily unavailable)
    poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
    select(15, [3 4 9 11 12 13 14], NULL, NULL, {0, 495896}) = 0 (Timeout)
    gettimeofday({1308577849, 29951}, NULL) = 0
    gettimeofday({1308577849, 30168}, NULL) = 0
    gettimeofday({1308577849, 30290}, NULL) = 0
    rt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0
    rt_sigprocmask(SIG_BLOCK, [IO], [WINCH], 8) = 0
    rt_sigprocmask(SIG_BLOCK, [IO], [WINCH IO], 8) = 0
    read(3, 0x9a17c48, 4096) = -1 EAGAIN (Resource temporarily unavailable)
    poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}], 7, 0) = 0 (Timeout)
    rt_sigprocmask(SIG_SETMASK, [WINCH IO], [WINCH IO], 8) = 0
    gettimeofday({1308577849, 31326}, NULL) = 0
    rt_sigprocmask(SIG_UNBLOCK, [WINCH], [WINCH IO], 8) = 0
    rt_sigprocmask(SIG_UNBLOCK, [IO], [IO], 8) = 0
    poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
    writev(3, [{";0円5円0円367円0円@2円0円0円0円0円37円0円6円0010円2円17円0円C0円5円0円/0円@2円367円0円@2円"..., 56}, {NULL, 0}, {"", 0}], 3) = 56
    read(3, 0x9a17c48, 4096) = -1 EAGAIN (Resource temporarily unavailable)
    read(3, 0x9a17c48, 4096) = -1 EAGAIN (Resource temporarily unavailable)
    kill(8459, SIGIO) = 0
    --- SIGIO (I/O possible) @ 0 (0) ---

    à raison d'un toutes les demi-secondes. Ça a l'air d'être en phase avec le clignotement du curseur, et évidemment ça ne prend pas 100% du CPU !

    Peut-être que sur vos installations vous verrez quelque chose d'autre...