當你自己開發維護一套**之類的時候,總會遇到各種異常的問題,或者有著效能優化的迫切需求,抑或著遭到了一些簡單的攻擊。
那麼這個時候,一些比較好的,成型的工具會給你快速定位問題,帶來很好的幫助。
一。 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
這兩個命令是方便定位出現網路請求的問題。也是適合大致已經定位到這個方向的時候。
Linux網路問題定位工具
分類 network 本文將linux中使用到的網路問題定位工具進行了初步彙總。linux nc命令 netcat是網路工具中的 瑞士軍刀 短小精悍 功能實用,簡單 可靠。可通過tcp或udp協議傳輸讀寫資料。也是乙個網路應用debug分析器,因為它可以根據需要建立各種不同型別的網路連線。tcpdu...
iOS8 下定位失敗問題
在ios8下,按照原來的 是無法獲取到位置資訊,不成功也不失敗,最終無法獲取位置資訊 在經過查閱後發現,需要在info.plist 裡面新增 型別為 boolean 值為yes 然後在需要定位的地方新增以下 self.locationmanager requestwheninuseauthoriza...
幾個linux監測工具
按負載排名檢視程序。安裝 yum install iotop 安裝 yum search iftop yum install netstat anp grep 埠號 檢視埠占用 nethogs nethogs d 5 5秒重新整理 nethogs eth0 eth1 指定網絡卡安裝 yum inst...