J'ai un fichier journal que j'écris quelques centaines de lignes à la seconde. Je veux mettre cela dans un volet tmux.
Cependant, lorsque je fais cela, tmux ne répond plus - je ne peux pas changer de volet ni de fenêtre et je ne peux même pas utiliser les touches CTRL + C pour arrêter la queue.
Après environ 3 minutes environ, la touche CTRL + C finira par tuer la queue et je reprendrai le contrôle - mais jusque-là je ne peux rien faire (à l'exception du changement de terminal vers une autre fenêtre telle que mon navigateur).
Y-a-t-il une façon de résoudre ceci? Je soupçonne que le problème est dû à un nombre important de lignes écrites dans le fichier journal.
Le problème est probablement lié à la surcharge de tmux, en particulier si vous avez une division verticale sur votre volet. Vous pouvez configurer tmux pour ne pas mettre à jour l'écran lorsqu'il y a beaucoup de caractères de contrôle en cours d'écriture. Voir man tmux
pour plus de détails, mais j'ai ceci dans mon ~/.tmux.conf.
set -g c0-change-trigger 20 #default is 250
set -g c0-change-interval 1000 #default is 100
Cela indique à tmux que lorsque 20 séquences de contrôle par millisecondes sont imprimées à l'écran, tmux devrait changer son intervalle de mise à jour à une fois par 1000 millisecondes (1/s).
Cela a été grandement amélioré dans tmux 2.1.
Les options c0 spécifiées dans d'autres réponses ont été supprimées et une approche de réduction de la mise en mémoire tampon a été introduite: https://raw.githubusercontent.com/tmux/tmux/master/CHANGES
Ce n'est PAS susceptible d'être causé par le fichier journal de suivi qui est écrit quelques centaines de fois par seconde.
Essayez de vous connecter à la boîte ou d’ouvrir une autre session de terminal, utilisez strace
pour vous connecter au processus tmux
, consultez les appels système effectués par et les signaux reçus par le processus. Cela aidera certainement.
Exemple: strace -tT -pPID
Sortie dans un fichier strace -tT -pPID -o /path/to/tmux_output
REMARQUE:
strace
est un débogueur léger, il m'a aidé à résoudre plusieurs problèmes liés à tmux dans le passé, par exemple. tmux impossible de créer/supprimer des fichiers/répertoires dans/var/run
ou/run
.
Je sais que cela ne résoudra pas votre problème, mais essayez de diriger la sortie de la commande vers less
ou more
:
less
vous permet de faire défiler même dans un terminal sans défilement:
<command> | less
more
imprime une page puis vous appuyez sur Entrée pour faire apparaître toutes les lignes suivantes:
<command> | more