Retourner au contenu associé (entrée de forum : emacs bouffe 100% du CPU)
Posté par jigso le 20 juin 2011 à 15:56. 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...
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# strace
Posté par jigso . 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...