Řešení 1:
Spusťte strace ls /var/www/
a uvidíte, na čem visí. Určitě to visí na I/O -- to je to, co D
uveďte ve svém ps
výstup znamená (a protože kill
nepomůže, je to jeden z nepřerušitelných I/O systémových volání). Většina zablokování zahrnuje server NFS, který se stal bohem, ale na základě vašeho df
tady tomu tak není. Rychlá kontrola dmesg
protože cokoli souvisejícího se souborovými systémy nebo disky může být užitečné, pro každý případ.
Řešení 2:
Měl jsem problém se stejnými příznaky. Ukázalo se, že jsem v tomto adresáři měl symbolický odkaz na připojení SMB přes GVFS.
lrwxrwxrwx 1 alex alex 45 Sep 16 2011 foo -> /home/alex/.gvfs/bar on foo/data/
Normálně ls
se dokončí okamžitě bez ohledu na to, zda byla sdílená složka připojena či nikoli. Ale v tomto případě jsem stroj pozastavil a obnovil a držák obecně fungoval špatně. Opětovné připojení sdílené položky problém vyřešilo.
Řešení 3:
V naději, že to bude užitečné, jsem měl výše uvedené příznaky způsobené použitím docker
a docker compose
s ovladačem AUFS v Ubuntu 14.04. ls <dir>
visel a strace ls <dir>
ukázal, že visí na getdents
volání. Zastavení všech běžících kontejnerů mi umožnilo začít používat disk podle očekávání.
Řešení 4:
Měl jsem stejný problém.
Zadání adresáře je v pořádku, jeho výpis se zasekne, hledání prací, zablokuje se kompletní karta a některé složky pod dělat práce. Velmi divné.
Přečtení tohoto vlákna o chybě serveru mě přivedlo na logickou cestu k řešení.
Souviselo to s NAS a NAS, které se běžně označovalo jako „automatické připojení“, mě přimělo si uvědomit, že jsem nedávno změnil svůj fstab na „automatické připojení“ některých USB disků, pokud byly přítomny, ale pokračovaly jako normálně, když nebyly.
Potom jsem postupoval následovně:
- Odpojte oddíl obsahující delikventní adresář.
- Upravte fstab a převeďte veškeré automatické připojování buď na komentované, nebo bez automatického.
- Znovu načtěte SystemD, pokud jej máte:systemctl --system daemon-reload
- mount -a
Zkuste znovu vstoupit do adresáře a získat ten hřejivý pocit, že jste problém vyřešili.