linux命令查看效能資源相關 一、查看系統基本資料uname -a # 查看核心/作業系統/CPU資訊head -n 1 /etc/issue # 查看作業系統版本, linux版本cat /proc/cpuinfo # 查看CPU資訊, 幾核的hostname # 查看電腦名稱lsmod # 列出載入的核心模組env # 查看環境變數 二、svn命令1、svn log 查看日誌資訊2、svn info 可以查看版本資訊,查看檔案資訊3、svn update 更新 (簡寫up)4、svn switch (sw): 更新工作複本至不同的URL。5、svn co 代碼路徑 下載svn代碼 三、Linux下查看apache進程: ps -ef|grep httpdLinux下查看Java進程:ps -ef |grep javaLinux下查看nginx進程:ps -ef |grep nginx 四、rpm -qa # 查看所有安裝的軟體包rpm –qa|grep httpd 查看是否已安裝了Apache 五、SAR命令CPU存在瓶頸,可用sar -u 和sar -q來看,I/O存在瓶頸,可用sar -b、sar -u和 sar-d來看%iowait的值不能太高,如果%iowait的值過高,則CPU花在等待輸入、輸出上的時間太多,這意味著磁碟存在I/O瓶頸;%idle的值處於40~100之間,一旦它持續低於30,則表明進程競爭的主要資源不是記憶體而是CPU。 六、jmap,分析記憶體jmap -histo pid 在尖峰記憶體使用量前後分別dump一次,可以對比出GC回收了哪些對象。1.sudo su admin -c "/opt/java_1.6.0.21/bin/jmap -histo pid > jmap.txt"2.vi jmap.txt 一般查看前幾項即可。 先ps -ef|grep java 找到pid再進到自己目錄 cd /home/yihan.zysudo -u admin jmap -histo pid > jmap.txt 七、jstack 用來查看當前web應用中存在的線程,以協助定位程式中那些線程對CPU的使用率過高。其使用也很簡單,在個人帳號下,使用sudo許可權 ,執行sudo -u admin /opt/taobao/java1/bin/./jstack pid 即可將線程dump下來,進行分析。命令本身使用起來很方便,關鍵是對dump下的線程作進一步的分析才是最重要的。具體而言,當CPU比較忙時,我們通常需要關注的是runnable狀態的線程,看系統到底在忙些什麼;而當CPU比較閑的時候,我們則需要關注waiting狀態線程。sudo -u admin /opt/java1/bin/jstack 17584 > q.txt 八、jstat:可以用此命令查看gc情況。 文法結構如下:jstat [Options] vmid [interval] [count] Options -- 選項,我們一般使用 -gcutil 查看gc情況 vmid -- VM的進程號,即當前啟動並執行java進程號 interval-- 間隔時間,單位為毫秒 count -- 列印次數,如果預設則列印無數次 執行個體: jstat -gcuti 16546 1000 4 16513為java進程號,可以通過(ps -ef|grep java找到),列印4次,每隔1秒列印一次 圖中參數含義如下: S0 -- Heap上的 Survivor space 0 區已使用空間的百分比 S1 -- Heap上的 Survivor space 1 區已使用空間的百分比 E -- Heap上的 Eden space 區已使用空間的百分比 O -- Heap上的 Old space 區已使用空間的百分比 P -- Perm space 區已使用空間的百分比 YGC -- 從應用程式啟動到採樣時發生 Young GC 的次數 YGCT-- 從應用程式啟動到採樣時 Young GC 所用的時間(單位秒) FGC -- 從應用程式啟動到採樣時發生 Full GC 的次數 FGCT-- 從應用程式啟動到採樣時 Full GC 所用的時間(單位秒) GCT -- 從應用程式啟動到採樣時用於記憶體回收的總時間(單位秒)