用 perf 追蹤系統狀態

在「Make Your Program Slower With Threads」這邊看到的工具:「Linux kernel profiling with perf」。

Ubuntu 上的安裝方式是安裝 linux-tools,不過我的機器上是安裝 linux-tools-lts-raring

先從比較簡單的 stat,基本的用法很簡單,後面接指令就可以了:

perf stat ls -al

這樣會出現基本的執行狀況,像是這樣:

 Performance counter stats for 'ls -al':

         11.236723 task-clock                #    0.703 CPUs utilized          
               341 context-switches          #    0.030 M/sec                  
                 0 cpu-migrations            #    0.000 K/sec                  
               453 page-faults               #    0.040 M/sec                  
         8,186,524 cycles                    #    0.729 GHz                    
    stalled-cycles-frontend 
    stalled-cycles-backend  
        10,366,309 instructions              #    1.27  insns per cycle        
         2,122,560 branches                  #  188.895 M/sec                  
            36,979 branch-misses             #    1.74% of all branches        

       0.015977493 seconds time elapsed

更複雜的用法在 Tutorial 那篇文章裡面有說明。

Netflix 在 USENIX/LISA2014 上講「Linux 效能調校」

NetflixBrendan Gregg 在「Linux Performance Analysis: New Tools and Old Secrets」這份投影片裡面給了很多有用的工具。

「先找出問題」一向是解決問題的大前提,在投影片裡提到了很多工具,像是這兩個看起來就很有用:

Ubuntu 下 VMware Tools 的替代品 Open Virtual Machine Tools

VMware 裡面跑 Ubuntu 通常會安裝 VMware Tools,像是「VMware Tools for Linux Guests」這篇介紹的方法。

但官方介紹的方法比較麻煩一點,所以想要從現有的套件裡找看看有沒有現成的可以用,然後就找到「open-vm-tools」,而且看起來已經存在一段時間了,12.04 (甚至 10.04) 都有支援。

裝好後就可以馬上看到更新:

應該是沒問題吧...

Hacker News 上所推薦的各種工具

看到「Tools of The Trade, from Hacker News.」這個,把各種只要跟 Hacker News 有關的工具都列出來了。

已經用了某個工具,要找同質性的替代方案也可以在這邊找... 太過基礎的就只列出來而不會解釋了,像是「Google Analytics」XD