solaris11使用truss解決系統命令hang住

datapeng發表於2014-11-19
    客戶說,在作業系統上面使用df,最後一段一直無法顯示,具體如下:
    
root@mytest     :/tmp# df -h
swap                   143G   3.3G       140G     3%    /tmp
rpool/VARSHARE         274G   147M        57G     1%    /var/share
rpool/export           274G   2.2G        57G     4%    /export
rpool/export/home      274G    71M        57G     1%    /export/home
rpool                  274G    34G        57G    38%    /rpool
/dev/lofi/4096         781M   3.7M       730M     1%    /global/.devices/node@1
/dev/lofi/8192         781M   3.7M       730M     1%    /global/.devices/node@2

到了這裡就沒有命令提示視窗返回了,一直hang住
這種情況,一般說來使用命令跟蹤來檢視問題所在,solaris採用truss命令來執行

root@mytest     :/tmp# truss  -eafld  -o  /tmp/truss.out df -h
執行這個命令後,仍然在這裡卡住,但已經在/tmp/truss.out裡面記錄了他卡在哪一步了

root@mytest     :/tmp# more /tmp/truss.out

在最後,我們看到有這樣一段話:
21014/1:         0.0572 write(1, "                        ".., 68)      = 68
21014/1:        statvfs64("/repo/sol11", 0xFF72FEA8) (sleeping...)
21014/1:        10.0901 statvfs64("/repo/sol11", 0xFF72FEA8)            Err#4 EINTR

在這裡,可以看到,/repo/sol11這裡出了問題

root@mytest     :/tmp# cd /repo/sol11
執行這個命令,根本沒有反映,所以可以判斷出來,這裡的掛載點出現了問題。其實這個問題仔細分析最後發現,客戶使用了share,而提供nfs的伺服器已經出現問題或者不存在了,這邊掛載就出現了問題。

解決辦法:
root@mytest     :/tmp# umount -f /repo/sol11
取消掛載後,問題解決!

當然,也要看一下,系統是否採用了自動掛載,如果設定了,也必須取消掉!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1338526/,如需轉載,請註明出處,否則將追究法律責任。

相關文章