自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊監(jiān)控工具Linux iotop

系統(tǒng) Linux
iotop是一款開源、免費(fèi)的用來監(jiān)控磁盤I/O使用狀況的類似top命令的工具,iotop可以監(jiān)控進(jìn)程的I/O信息。

[[385443]]

本文轉(zhuǎn)載自微信公眾號(hào)「DBA閑思雜想錄」,作者瀟湘隱者。轉(zhuǎn)載本文請(qǐng)聯(lián)系DBA閑思雜想錄公眾號(hào)。

iotop的簡(jiǎn)介:

iotop是一款開源、免費(fèi)的用來監(jiān)控磁盤I/O使用狀況的類似top命令的工具,iotop可以監(jiān)控進(jìn)程的I/O信息。它是Python語言編寫的,與iostat工具比較,iostat是系統(tǒng)級(jí)別的IO監(jiān)控,而iotop是進(jìn)程級(jí)別IO監(jiān)控。目前最新的版本為iotop 0.6。其官方網(wǎng)址http://guichaz.free.fr/iotop/[1]

iotop的安裝:

注意,iotop的安裝有前提條件(如果操作系統(tǒng)不滿足這些條件,iotop無法正確安裝):

1:內(nèi)核版本為2.6.20或更高版本

2:Python 2.7或更高的版本

官方文檔的詳細(xì)介紹如下:

  • Linux has always been able to show how much I/O was going on (the bi and bo columns of the vmstat 1 command).
  • Iotop is a Python program with a top like UI used to show of behalf of which process is the I/O going on. It requires Python ≥ 2.7 and a Linux kernel ≥ 2.6.20 with the TASK_DELAY_ACCT CONFIG_TASKSTATS, TASK_IO_ACCOUNTING and CONFIG_VM_EVENT_COUNTERS options on.

iotop的yum安裝

yum安裝是最簡(jiǎn)單、快捷的。前提條件是你有配置yum的源配置。

  1. [root@DB-Server ~]# python -V 
  2. Python 2.7.5 
  3. [root@DB-Server ~]# uname -a 
  4. Linux DB-Server 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 
  5. [root@DB-Server ~]#  
  6.   
  7.   
  8. [root@DB-Server ~]# yum -y install iotop 

iotop的源碼安裝

  1. wget http://guichaz.free.fr/iotop/files/iotop-0.6.tar.bz2 
  2. tar -xvf iotop-0.6.tar.gz  
  3. cd iotop-0.6 
  4. python setup.py build 
  5. python setup.py install 

iotop的參數(shù)

  1. # iotop --help 
  2. Usage: /usr/local/sbin/iotop [OPTIONS] 
  3.   
  4. DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling 
  5. period. SWAPIN and IO are the percentages of time the thread spent respectively 
  6. while swapping in and waiting on I/O more generally. PRIO is the I/O priority at 
  7. which the thread is running (set using the ionice command). 
  8.   
  9. Controls: left and right arrows to change the sorting column, r to invert the 
  10. sorting order, o to toggle the --only option, p to toggle the --processes 
  11. option, a to toggle the --accumulated option, i to change I/O priority, q to 
  12. quit, any other key to force a refresh. 
  13.   
  14. Options: 
  15.   --version             show program's version number and exit 
  16.   -h, --help            show this help message and exit 
  17.   -o, --only            only show processes or threads actually doing I/O 
  18.   -b, --batch           non-interactive mode 
  19.   -n NUM, --iter=NUM    number of iterations before ending [infinite] 
  20.   -d SEC, --delay=SEC   delay between iterations [1 second] 
  21.   -p PID, --pid=PID     processes/threads to monitor [all] 
  22.   -u USER--user=USER  users to monitor [all] 
  23.   -P, --processes       only show processes, not all threads 
  24.   -a, --accumulated     show accumulated I/O instead of bandwidth 
  25.   -k, --kilobytes       use kilobytes instead of a human friendly unit 
  26.   -t, --time            add a timestamp on each line (implies --batch) 
  27.   -q, --quiet           suppress some lines of header (implies --batch) 

iotop的快捷鍵

r:反向排序,

o:切換至選項(xiàng)--only,

p:切換至--processes選項(xiàng),

a:切換至--accumulated選項(xiàng)

q:退出

i:改變線程的優(yōu)先級(jí)

iotop的例子

1:只顯示正在產(chǎn)生I/O的進(jìn)程

  1. # iotop -o 

2:使用非交互模式將iotop命令輸出信息寫入日志

  1. #nohup iotop -b -o -n 10 -d 5 -t  > /tmp/iotop.log & 

3:借助iotop命令找到消耗I/O最高的進(jìn)程,然后通過進(jìn)程找到其正在執(zhí)行的SQL語句

  1. # iotop -oP 
  2.  
  3.  PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                      
  4.  
  5. 11741 be/4 oracle      4.70 M/s    0.00 B/s  0.00 % 98.60 % ora_s004_SCM2 
  6.  
  7. 11739 be/4 oracle     66.99 M/s    0.00 B/s  0.00 % 93.30 % ora_s005_SCM2 
  8.  
  9. 11741 be/4 oracle     21.76 M/s    0.00 B/s  0.00 % 91.78 % ora_s006_SCM2 
  10.  
  11. 11743 be/4 oracle      4.87 M/s    3.78 M/s  0.00 % 27.74 % ora_s007_SCM2 
  12.  
  13. 11745 be/4 oracle     62.39 K/s    0.00 B/s  0.00 %  2.88 % ora_s008_SCM2 
  14.  
  15. 11733 be/4 oracle     39.00 K/s    0.00 B/s  0.00 %  2.08 % ora_s002_SCM2                 
  16.  
  17. 11697 be/4 oracle      0.00 B/s 1879.61 K/s  0.00 %  0.30 % ora_dbw0_SCM2 
  18.  
  19. 11699 be/4 oracle      0.00 B/s  102.36 K/s  0.00 %  0.20 % ora_lgwr_SCM2 

在找到消耗I/O最大的進(jìn)程后,找出ORACLE進(jìn)程正在執(zhí)行的SQL語句

  1. SQL> @getsql_by_spid.sql 
  2.  
  3. Enter value for pid: 11741 
  4.  
  5. old  13:                                WHERE c.spid = '&pid')) 
  6.  
  7. new  13:                                WHERE c.spid = '11741')) 
  8.  
  9.   
  10.  
  11. SQL_TEXT 
  12.  
  13. -------------------------------------------- 
  14.  
  15. ...............................(實(shí)際環(huán)境中,這里會(huì)輸出SQL語句) 

getsql_by_spid.sql腳本如下所示:

  1. SELECT   /*+ ORDERED */ 
  2.          sql_text 
  3.     FROM v$sqltext a 
  4.    WHERE (a.hash_value, a.address) IN ( 
  5.             SELECT DECODE (sql_hash_value, 
  6.                            0, prev_hash_value, 
  7.                            sql_hash_value 
  8.                           ), 
  9.                    DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) 
  10.               FROM v$session b 
  11.              WHERE b.paddr = (SELECT addr 
  12.                                 FROM v$process c 
  13.                                WHERE c.spid = '&pid')) 
  14. ORDER BY piece ASC 

這里只簡(jiǎn)單列了幾個(gè)例子,因?yàn)閕otop命令非常簡(jiǎn)單,了解iotop的參數(shù)和快捷方式后,基本上只需根據(jù)實(shí)際需求去獲取進(jìn)程或信息的I/O信息,剩下就是分析判斷了。

參考資料

 

[1]iotop: http://guichaz.free.fr/iotop/

 

責(zé)任編輯:武曉燕 來源: DBA閑思雜想錄
相關(guān)推薦

2019-05-05 15:20:32

Linuxiotop磁盤

2020-09-16 08:03:45

Linux網(wǎng)絡(luò)工具

2022-05-31 10:50:40

Linux監(jiān)控工具

2014-02-09 10:20:44

監(jiān)控工具Linux服務(wù)器

2011-01-06 13:45:51

linux流量監(jiān)控iftop

2020-11-16 18:53:16

Linux網(wǎng)絡(luò)監(jiān)控工具網(wǎng)絡(luò)通訊

2010-05-27 12:52:42

Linux流量監(jiān)控軟件

2014-06-18 10:47:05

dstat監(jiān)控工具

2020-06-17 07:40:26

監(jiān)控系統(tǒng)zabbix

2013-08-19 09:53:01

系統(tǒng)監(jiān)控lsof 監(jiān)控工具

2010-05-19 09:33:27

Linux系統(tǒng)監(jiān)控工具top

2020-08-31 09:01:16

GlancesLinux系統(tǒng)監(jiān)控工具

2020-05-29 15:25:30

Linux 監(jiān)控 工具

2010-05-19 10:14:41

vmstatLinux系統(tǒng)監(jiān)控工具

2020-11-18 11:05:07

Linux網(wǎng)絡(luò)監(jiān)控工具代碼

2022-03-11 08:35:06

數(shù)據(jù)庫存儲(chǔ)監(jiān)控

2024-05-11 11:18:21

Kafka監(jiān)控框架

2010-06-07 14:23:40

Linux流量監(jiān)控

2010-06-13 15:05:01

Linux流量監(jiān)控

2014-12-15 10:06:13

linux診斷工具系統(tǒng)監(jiān)控
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)