2016-02-05 187 views
0

當我打開/保存文件時,我的Linux(Fedora)計算機變得無響應約15分鐘。我調查過,它與/ mnt中的Windows掛載目錄有關。我可以用一個簡單的'ls -al/mnt'重現。所有後續的ls命令都會很快返回。一段時間後,同樣的問題顯示出來,我不得不採取另一種休息15分鐘......lstat()塊15分鐘

使用strace和ltrace都指向LSTAT():

# strace 
13:37:22 lstat("/mnt/Todo-Dino", 0x211ce40) = -1 EHOSTDOWN (Host is down) 
13:52:24 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory) 

# ltrace 
13:37:22 __lxstat(1, "/mnt/Todo-Dino", 0x01e1ee40)            = -1 
13:52:24 dcgettext(0, 0x4120ce, 5, 0, 0x1e24850) 

mnt$ ls -al 
ls: cannot access Todo-Dino: Host is down 
total 40 
d????????? ? ? ?  ?   ? Todo-Dino 

Windows機器上用掛載在上面/ mnt/Todo-Dino並沒有像報道的那樣真的下降。即使它會下來,15分鐘是一個相當漫長的等待......

後的15分鐘內把目錄顯示爲預期:

mnt$ ls -al 
drwxrwxrwx 2 root root 12288 Feb 4 12:36 Todo-Dino 

fstab文件有:

//192.168.1.1/Todo      /mnt/Todo-Dino   cifs username=XXX,password=XXX,file_mode=0777,dir_mode=0777,auto,users 0 0 

任何想法如何解決這個問題?來自哪裏15分鐘的神奇延遲?

謝謝。

+0

您可以驗證它不是(臨時)網絡問題嗎?即當stat掛起時,你能ping通否則通過網絡從linux機器到windows機器進行通信? – nos

+0

@nos我剛剛嘗試過。步驟:1)喚醒Windows機器2)從Linux中ping它(192.168.1.1)3)'ls'仍然掛在Linux上。事實上,第2步是多餘的 - 我真的通過VNC連接到Windows機器上的Linux機器... Linux只裝載了dir,並且需要15分鐘才能重新獲取它。這是一個4-5歲的Fedora。可能有一個Samba配置需要調整,至少將這15分鐘縮短到可以接受的程度。 –

+0

其實我發現有一個服務器故障社區,討論這些問題。類似的一個問題:http://serverfault.com/questions/622238/linux-cifs-samba-mount-hangs-for-several-minutes。作爲一種解決方法,我可以從那裏嘗試一個建議 - 每分鐘執行一次cron作業,以「鍛鍊」連接。 –

回答

1

我沒有深究這個問題的底部,但至少有一個簡單的治療方法。類似於類似的線程所建議的,每5分鐘清除一次/ mnt的列表。可能太頻繁但誰在乎?現在使用機器時不會被迫中斷15分鐘!

* * * * /bin/ls -al /mnt > /dev/null 2>&1 
    5 * * * * /bin/ls -al /mnt > /dev/null 2>&1 
    ...