linux 下进程io分析(dmesg相关、block_dump相关)
2018-01-03 13:15
274 查看
环境相关:
OS:CentOS release 6.9
查看dmesg信息,寻找规律:
使用awk命令做这类信息的几种分析:
OS:CentOS release 6.9
1. 需求
当系统IO频繁时,想要获取最耗IO的进程信息时,可以使用dstat命令或者其他系统命令,这些命令都是获取系统底层数据然后进行汇总展示。本文介绍打开block_dump,通过查看dmesg信息定位高IO的方法。2. 具体操作
开启block_dump:echo 1 > /proc/sys/vm/block_dump
查看dmesg信息,寻找规律:
dmesg -c # 打印dmesg当前信息后清除缓存中留存的当前信息 # 查看信息,发现有dirtied inode文件句柄占用信息、WRITE block块写入信息等 # 块写入信息就是我们需要分析的信息
使用awk命令做这类信息的几种分析:
dmesg -c|awk '/WRITE block/{a[$1]+=$4}END{for(i in a) print i,a[i]}'|column -t # 如下方的输出信息截取 # jbd2/sda3-8(315): 211293280 # flush-8:0(705): 355218184 # 第一列是进程名和PID,第二列是当前dmesg信息中,这些进程写入的块的数量 dmesg -c|awk '/WRITE block/{a[$6]+=$4}END{for(i in a) print i,a[i]}'|column -t # 如下方的输出信息截取 # sda3 2276570920 # 第一列是被写入的设备,第二列是当前dmesg信息中,这些设备写入的块的数量 dmesg -c|awk '/WRITE block/{a[$1" "$6]+=$4}END{for(i in a) print i,a[i]}'|column -t # 如下方的输出信息截取 # flush-8:0(705): sda3 1836672752 # jbd2/sda3-8(315): sda3 2050043504 # 第一列是进程名和PID,第二列是被写入的设备,第三列是当前dmesg信息中,写入的块的数量
3. 收尾
最后需要手动关闭block_dump功能:echo 0 > /proc/sys/vm/block_dump
[TOC]
相关文章推荐
- 从一道面试题分析Linux进程+IO缓冲区机制
- block_dump观察Linux IO写入的具体文件(mysqld)
- block_dump观察Linux IO写入的具体文件
- linux 为崩溃的程序生成core文件的相关函数,调用代码生成core dump file 但程序不用退出,gdb 分析core
- 从一道面试题分析Linux进程+IO缓冲区机制
- block_dump观察Linux IO写入的具体文件
- Linux下进程调度与优先级的深入分析
- linux查看进程相关命令
- [Linux]——进程管理相关
- 裘宏骏:Linux 相关性能分析工具
- Linux内核分析(八):Linux进程调度的时机和进程切换
- Linux进程概念&相关系统调用(6.3)
- Linux下进程状态深入分析
- 嵌入式Linux相关招聘需求情况分析
- 【Linux操作系统分析】进程——进程切换,进程的创建和撤销
- linux查看进程占用cpu、内存、io信息
- Linux下使用ps命令来查看Oracle相关的进程
- Linux进程管理及相关命令
- linux硬盘IO优化相关资料整理
- linux 创建守护进程的相关知识