最近學習innotop工具,本身蒐集整理了一下網上的各類資源,小弟也沒作什麼創造性的工做,彙總整理。mysql
這裏使用的是innotop-1.8.0,1.8版本的能夠監測遠程服務器,而1.6版本不能夠。sql
一.
安裝
INNOTOP是一個經過文本模式顯示MySQL和InnoDB的監測工具。它有不少特色,快速的配置的,易於使用等。它吸收了MYTOP的精華這使
它變得更增強大。INNOTOP是用PERL語言寫成的,這是它能更加靈活的使用在各類操做平臺之上,它能詳細的的監控出當前MYSQL和
INNODB運行的狀態,以便維護人員根據結果合理的優化MYSQL,讓MYSQL更穩定更高效的運行。
安裝INNOTOP工具很是的簡單,既然是由PERL寫的,固然須要PERL環境和相關的工具包。
在安裝以前先要肯定你的系統安裝了Time::HiRes,Term::ReadKey,DBI,DBD::mysql這四個包。安裝能夠把包下載下來經過編譯安裝完
成也能夠用PERL模塊安裝方式來完成。
安裝Time::HiRes,Term::ReadKey,DBI,DBD::mysql庫文件
經過PERL模塊來安裝
[root@xoyo-test-43 innotop-1.8.0]# perl -MCPAN -eshell
CPAN> install Time::HiRes
CPAN> install Term::ReadKey
CPAN> install DBI
CPAN> install DBD::mysql
也能夠經過源碼編輯安裝(略過)
下面安裝innotop-1.8
[root@xoyo-test-43 software]# wget http://innotop.googlecode.com/files/innotop-1.8.0.tar.gz
[root@xoyo-test-43 software]# tar xvzf innotop-1.8.0.tar.gz
[root@xoyo-test-43 software]# cd innotop-1.8.0
[root@xoyo-test-43 software]# perl Makefile.PL
[root@xoyo-test-43 software]# make
[root@xoyo-test-43 software]# make install
至此,innotop就安裝完畢,下面是使用說明
二.使用
innotop -u <username> -p <password> -h <hostname> -P <port>
交互式工具也就是在須要的時候啓動起來,以視圖顯示的形式不斷獲取服務器的最小狀態。
可獲取的內容:
1.顯示當前innodb的所有事務列表;
2.顯示當前正運行着的查詢;
3.顯示當前鎖和鎖等等的列表;
4.服務器狀態和變量的摘要信息 顯示了數值的相對變化幅度;
5.有多種模式可用來顯示Innodb 內部信息,如緩衝區、死鎖、外鍵錯誤、I/O狀況、行操做、信號量等。
6.複製健康,將主機和從機的狀態顯示一塊兒;
7.有一個顯示任意服務器變量的模式;
8.服務器組能夠幫你更方便的組織多臺服務器;
9.在命令行腳本下可使用非交互模式。
鏈接成功後 輸入?能夠進入幫助:
括號中爲後加的註釋
Switch to a different mode:
B InnoDB Buffers I InnoDB I/O Info Q Query List
C Command Summary L Locks R InnoDB Row Ops
D InnoDB Deadlocks M Replication Status S Variables & Status
F InnoDB FK Err O Open Tables T InnoDB Txns
Actions:
a Toggle the innotop process(切換innotop進程) k Kill a query's connection(殺死一查詢的鏈接)
c Choose visible columns (可見列選擇) n Switch to the next connection(切換到下一個鏈接)
d Change refresh interval (更改刷新間隔) p Pause innotop (暫停innotop)
e Explain a thread's query (說明線程的查詢) q Quit innotop (退出)
f Show a thread's full query(顯示線程的完整查詢) r Reverse sort order (反向排序)
h Toggle the header on and off(頭切換和關閉) s Change the display's sort column(更改顯示的排序列)
i Toggle idle processes (切換空閒進程) x Kill a query (殺死一查詢)
Other:
TAB Switch to the next server group / Quickly filter what you see
! Show license and warranty = Toggle aggregation
# Select/create server groups @ Select/create server connections
$ Edit configuration settings \ Clear quick-filters
Switch to a different mode 詳解:
B InnoDB Buffers:
該模式顯示有關InnoDB緩衝池,頁面統計,插入緩衝,自適應哈希索引。這些數據來自展現InnoDB的狀態。
此模式默認包含buffer_pool,page_statistics,insert_buffers,和adaptive_hash_index表。
C Command Summary:
該命令是創建彙總表經過提取STATUS_VARIABLES變量。變量必須是數字,必須匹配給定的cmd_filter配置變量的前綴。百分比列是在表
中的全部變量總數的
百分比,因此你能夠看到變數的相對比例。
默認的前綴是「Com_」。你能夠選擇的's'鍵改變過濾前綴。
D InnoDB Deadlocks:
這種模式顯示,在過去InnoDB的死鎖中涉及的事務。第二個表顯示等待事務。
F InnoDB FK Err:
此模式顯示最後InnoDB的外鍵的錯誤信息,
I InnoDB I/O Info:
這種模式顯示InnoDB的I/O信息,包括I/O線程,掛起的I/O,文件I/O,日誌統計。默認顯示io_threads,pending_io,file_io_misc
,和log_statistics
L Locks:
這種模式顯示了當前鎖的信息。目前只支持InnoDB,並在默認狀況下你只看到那些鎖等待的事務。
M Replication Status:
這種模式輸出了 SHOW SLAVE STATUS 和 SHOW MASTER STATUS 的信息成3張表,前兩個顯示從的sql和I/O的狀態,最後顯示主的狀態
O Open Tables:
這部分來自SHOW OPEN TABLES命令的輸出,默認狀況下,篩選出正由一個或多個查詢使用的表,這樣能夠快速獲得哪些表是'熱'。也可
以猜想哪些表可能被
鎖。
Q Query List:
此模式顯示從SHOW FULL PROCESSLIST的信息,就像mytop的查詢列表模式。有一個信息頭,顯示有關服務器的通常狀態信息。能夠
用'h'切換開或關。
默認狀況下,innotop隱藏不活動的進程和它本身的進程。您能夠切換和關閉這些用'i'和'a'鍵。
R InnoDB Row Ops:
全名是InnoDB Row Operations and Semaphores(InnoDB的行操做和信號燈)。
這種模式顯示InnoDB行操做、row operation miscellaneous、信號、innodb等待信息
S Variables & Status:
這種模式計算,如每秒查詢的統計信息。您能夠顯示絕對值之間,或增量值。
's' 鍵是沒必定時間打印數字到前面
'g' 鍵是打印圖像
'v' 鍵是以一個表格的形式顯示,按期刷新值。
T InnoDB Txns:
全名是InnoDB Transactions。
這種模式從innodb監視器中輸出事務。你能夠殺掉一個查詢或進程,經過'k'和'x'鍵,也能夠explain一個查詢,經過'e'或'f'鍵。
InnoDB不會輸出全部的查
詢事務,若是查詢太長被截斷。信息頭能夠用'h'鍵打開或關閉,
默認狀況下,innotop隱藏不活動的進程和它本身的進程。您能夠切換和關閉這些用'i'和'a'鍵。