GNU/Linux >> Linux Esercitazione >  >> Linux

Il completamento della scheda si blocca?

Quando apro per la prima volta un terminale, o ne apro uno nuovo dopo che non ne ho usato uno per un po', qualsiasi tipo di completamento della scheda nella mia home directory (ad esempio, ls e Scheda ) impiega diversi secondi. Ho già visto questo comportamento durante l'utilizzo di autofs per montare le unità di rete, ma non ne ho in ~/ . Io monto le condivisioni NFS con l'automount di systemd, ma quelle sono in ~/badabing/ , quindi tutto in ~/ stesso è solo un file locale.

Nel caso si tratti di un problema di montaggio automatico, ecco il relativo /etc/fstab righe (sì, il server si chiama "badabing", l'ho chiamato durante un abbuffata dei Soprano qualche anno fa):

badabing:/nfs_shares/music /mnt/badabing/music    nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/series /mnt/badabing/series  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/movies /mnt/badabing/movies  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0

Quindi, in ~/badabing Ho:

$ ls -l ~/badabing/
total 0
lrwxrwxrwx 1 terdon terdon 32 Jan 10  2016 movies -> /mnt/badabing/nfs_shares/movies/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 music -> /mnt/badabing/nfs_shares/music/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 series -> /mnt/badabing/nfs_shares/series

Vorrei indagare di più su questo. Posso in qualche modo strace completamento della scheda? È l'unico modo per aggiungere echo comandi nei vari script di completamento bash per vedere cosa c'è in sospeso? Ce ne sono parecchi, quindi preferirei evitarlo.

Quindi, cosa sta causando questo o, almeno, come posso eseguire il debug ulteriormente?

Risposta accettata:

Io farei questo:

sudo strace -pXXXX -tfo /tmp/strace.log

dove XXXX è l'id del processo di bash. In un rapido controllo del completamento del nome file su uno dei miei alberi di directory montati su NFS, funziona senza problemi:

-f

Traccia i processi figlio così come vengono creati dai processi attualmente tracciati come risultato della chiamata di sistema fork(2).

-t

Prefissa ogni riga della traccia con l'ora del giorno.

Alcune persone potrebbero preferire -r :

-r

Stampa un timestamp relativo all'ingresso di ciascuna chiamata di sistema. Questo registra la differenza di tempo tra l'inizio delle chiamate di sistema successive.


Linux
  1. Un tutorial per il completamento di Bash facile??

  2. Annulla completamento, ma solo completamento, in Zsh?

  3. Come risolvere il completamento delle schede che non funziona in Ubuntu e Debian

  4. Guida al monitoraggio delle risorse di Windows

  5. Ordinamento di un file delimitato da tabulazioni

Come disabilitare il completamento automatico (completamento delle schede) nella shell bash

Java ProcessBuilder:il processo risultante si blocca

Aggiungi un'intestazione a un file delimitato da tabulazioni

Come posso disattivare o regolare il completamento intelligente della scheda in Ubuntu (Completamento programmabile)

Come impostare la scheda su 4 spazi in vim?

Il comando RPM si blocca