歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux下定位問題的幾個工具

當你自己開發維護一套網站之類的時候,總會遇到各種異常的問題,或者有著性能優化的迫切需求,抑或著遭到了一些簡單的攻擊。

那麼這個時候,一些比較好的,成型的工具會給你快速定位問題,帶來很好的幫助。

一。 tail -f 的用法

通常用作日志的定位小命令。在遇到問題的時候,用這個可以跟蹤問題發生的邏輯前後,方便做出邏輯分析和推測。

1. apache log:  在Ubuntu下面,通常在/var/log/apache2/下面,

當出現服務器無法連接等異常的時候,可以直接在該目錄下,tail -f *, 並再次請求,看看是否有錯誤發生。

2. mysql log: 在ubuntu下面,通常在/var/log/mysql/下面

當應用提示數據庫錯誤的時候,在這裡跟蹤mysql給出的錯誤是第一選擇。

另外,如果你想跟蹤一個操作引發的sql操作,那麼請修改my.cnf裡的配置,把普通log的配置打開。

這樣,當一個邏輯操作後,你會看到所有的sql操作表和對應的操作。

3. web應用自己的log。

通常你會在自己web應用定義的log目錄下面,用tail可以跟蹤到你應用中出現邏輯問題的地方。用不斷打日志,跟蹤變量的方式,

你可以像調試應用程序一樣,來調試你的web服務。

二。 top命令

該命令可以有效地看到機器目前資源的利用情況。特別是服務請求到達一定瓶頸的時候,可以清楚的看到最繁忙的進程是哪個。

三。 strace

對於一些拋出異常的程序,可能tail的粒度過於粗放,很多細節無法得知。那麼這個時候,可以采用這個工具。一般來說,可以得到

系統調用級別的日志。優點是,日志精確,缺點是,過於龐大。所以一般在找到一個大概的范圍後,再采用strace來實施精確打擊。

四。 netstat & tcpdump

這兩個命令是方便定位出現網絡請求的問題。也是適合大致已經定位到這個方向的時候。

Copyright © Linux教程網 All Rights Reserved