IO 查看

gddg:~ # lsof /dev/xvda2 |head
COMMAND     PID       USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
init          1       root  cwd    DIR  202,240962 /
init          1       root  rtd    DIR  202,240962 /
init          1       root  txt    REG  202,240784193218 /sbin/init
init          1       root  mem    REG  202,2191148063 /lib64/libdl-2.11.1.so
init          1       root  mem    REG  202,216614548057 /lib64/libc-2.11.1.so
init          1       root  mem    REG  202,22363848114 /lib64/libsepol.so.1
init          1       root  mem    REG  202,21139048115 /lib64/libselinux.so.1
init          1       root  mem    REG  202,21497978050 /lib64/ld-2.11.1.so
kthreadd      2       root  cwd    DIR  202,240962 /

然后可以通过 lsof -p $pid 查看详情

gddg:~ # lsof -p 32597
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
bash    32597 root  cwd    DIR  202,2409616097 /root
bash    32597 root  rtd    DIR  202,240962 /
bash    32597 root  txt    REG  202,258401632203 /bin/bash
bash    32597 root  mem    REG  202,22939368125 /lib64/libncurses.so.5.6
bash    32597 root  mem    REG  202,216614548057 /lib64/libc-2.11.1.so
bash    32597 root  mem    REG  202,2191148063 /lib64/libdl-2.11.1.so
bash    32597 root  mem    REG  202,22635688153 /lib64/libreadline.so.5.2
bash    32597 root  mem    REG  202,21497978050 /lib64/ld-2.11.1.so
bash    32597 root  mem    REG  202,221701616498 /var/run/nscd/passwd
bash    32597 root  mem    REG  202,2256324149503 /usr/lib/locale/en_US.utf8/LC_CTYPE
bash    32597 root  mem    REG  202,254149490 /usr/lib/locale/en_US.utf8/LC_NUMERIC
bash    32597 root  mem    REG  202,22454133112 /usr/lib/locale/en_US.utf8/LC_TIME
bash    32597 root  mem    REG  202,21163682149504 /usr/lib/locale/en_US.utf8/LC_COLLATE
bash    32597 root  mem    REG  202,2286133111 /usr/lib/locale/en_US.utf8/LC_MONETARY
bash    32597 root  mem    REG  202,257149408 /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
bash    32597 root  mem    REG  202,234149428 /usr/lib/locale/en_US.utf8/LC_PAPER
bash    32597 root  mem    REG  202,277149438 /usr/lib/locale/en_US.utf8/LC_NAME
bash    32597 root  mem    REG  202,2155133108 /usr/lib/locale/en_US.utf8/LC_ADDRESS
bash    32597 root  mem    REG  202,259149407 /usr/lib/locale/en_US.utf8/LC_TELEPHONE
bash    32597 root  mem    REG  202,223149429 /usr/lib/locale/en_US.utf8/LC_MEASUREMENT
bash    32597 root  mem    REG  202,226050149293 /usr/lib64/gconv/gconv-modules.cache

2. cat /proc/$pid/io

如果内核版本大于2.6.20,通过cat /proc/pid/io 便可以获取进程的io信息。详细解释

gddg:~ # cat /proc/4140/io
rchar: 197448798054// 读出的总字节数,read()或者pread()中的长度参数总和(pagecache中统计而来,不代表实际磁盘的读入)
wchar: 209896059897// 写入的总字节数,write()或者pwrite()中的长度参数总和
syscr: 6491904// read()或者pread()总的调用次数
syscw: 13633940// write()或者pwrite()总的调用次数
read_bytes: 49616125952// 实际从磁盘中读取的字节总数
write_bytes: 14038130688// 实际写入到磁盘中的字节总数
cancelled_write_bytes: 2473984// 由于截断pagecache导致应该发生而没有发生的写入字节数

3. block_dump

通过echo 1 > /proc/sys/vm/block_dump ,来把 block 读写(WRITE/READ/DIRTY)状况 dump 到日志里,通过 dmesg 命令来查看

时间: 2024-10-10 04:18:47

IO 查看的相关文章

Linux IO性能监控工具

vmstat 2 3 服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况 cat /proc/$PID/io 查看线程的读写明细 iostat [选项] [<时间间隔> [<次数>]]    用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况     Option:         -c CPU         -d device         -n network filesystem         -k kilobytes  

linux 系统监控、诊断工具之 IO wait

1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件.硬件层面分别寻找解决方案. 2.排查: 从 top 中可以看到 load average 偏高,%wa 偏高,%us 很低: 充分说明这个问题是由于 IO

[转]linux 系统监控、诊断工具之 IO wait

1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件.硬件层面分别寻找解决方案. 2.排查: 从 top 中可以看到 load average 偏高,%wa 很高,%us 偏低: 从上图我们大致可以推断 IO

【N版】openstack——走进云计算(一)

[N版]openstack--走进云计算 一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互. 1.1云计算的特点和优势 1)云计算是一种使用模式 2)云计算必须通过网络访问 3)弹性计算,按需付费 1.2在云计算之前的模式或技术 1)IDC托管 2)IDC租用 3)虚拟主机(卖空间的) 4)VPS:虚拟专用

笔记4

[[email protected] ~]# declare -i i=10[[email protected] ~]# declare -i j=10 declare -i[[email protected] ~]# n=i+j[[email protected] ~]# echo $ni+j[[email protected] ~]# n=$i+$j[[email protected] ~]# echo $n10+10[[email protected] ~]# declare -i n=i

Java调优

Java调优经验谈 对于调优这个事情来说,一般就是三个过程: 性能监控:问题没有发生,你并不知道你需要调优什么?此时需要一些系统.应用的监控工具来发现问题. 性能分析:问题已经发生,但是你并不知道问题到底出在哪里.此时就需要使用工具.经验对系统.应用进行瓶颈分析,以求定位到问题原因. 性能调优:经过上一步的分析定位到了问题所在,需要对问题进行解决,使用代码.配置等手段进行优化. Java调优也不外乎这三步. 此外,本文所讲的性能分析.调优等是抛开以下因素的: 系统底层环境:硬件.操作系统等 数据

疑难杂症--SQL SERVER 2012下数据库内存异常回收

--=================================================================== --背景: 在一台SQL SERVER 2012 SP1(11.0.3000)服务器上,由于批处理请求较高,CPU使用率超过40%,于是开始各种调研.. 服务器情况: 服务器物理内存为128GB, 分配给SQL SERVER 115GB,Windows 可用物理内存为6GB左右 压力情况: 批处理请求超过30000+,有大量UPDATE和INSERT操作,C

github page 和 hexo 搭建在线博客

目录: 安装node.js与git 常用git命令 安装hexo 配置hexo hexo发布到github 1.安装node.js和git工具 https://nodejs.org/en/ 直接下载安装Node.js,有的IDE自带node.js,比如vs2015. 控制台中输入npm查看node.jd是否安装完成 https://git-for-windows.github.io/ windows版的git https://desktop.github.com/ github for wind

Linux 系统监控、诊断工具-top,vmstat,iostat,iotop

1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了. 同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件.硬件层面分别寻找解决方案. 2.排查: 从 top 中可以看到 load average 偏高,%wa 很高,%us 偏低: 从上图我们大致可以推断 IO