Centos7 查看磁盘i/o, 定位占用i/o读写高的进程

Centos7 查看磁盘i/o, 定位占用i/o读写高的进程

概要:

  • iostat 主要用于输出磁盘IO 和 CPU的统计信息。

  • iostat属于sysstat软件包。可以用yum install sysstat 直接安装。

1、iostat 用法

用法:iostat [选项] [<时间间隔>] [<次数>]

命令参数:
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p:[磁盘] 显示磁盘和分区的情况

2、先用iostat查看磁盘io 是否读写负载很高

iostat -d -k -x 1 10, 查看TPS和吞吐量信息

如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大,读取速度有较多的wait,然后再看其他的参数。

rrqm/s:每秒进行merge的读操作数目。即delta(rmerge)/s
wrqm/s:每秒进行merge的写操作数目。即delta(wmerge)/s
r/s:每秒完成的读I/O设备次数。即delta(rio)/s
w/s:每秒完成的写I/0设备次数。即delta(wio)/s
rsec/s:每秒读扇区数。即delta(rsect)/s
wsec/s:每秒写扇区数。即delta(wsect)/s
rKB/s:每秒读K字节数。是rsec/s的一半,因为每扇区大小为512字节

wKB/s:每秒写K字节数。是wsec/s的一半
avgrq-sz:平均每次设备I/O操作的数据大小(扇区)。即delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:平均I/O队列长度。即delta(aveq)/s/1000(因为aveq的单位为毫秒)
await:平均每次设备I/O操作的等待时间(毫秒)。即delta(ruse+wuse)/delta(rio+wio)
svctm:平均每次设备I/O操作的服务时间(毫秒)。即delta(use)/delta(rio+wio)
%util:一秒中有百分之多少的时间用于I/O操作,或者说一秒中有多少时间I/O队列是非空的

iostat -c 1 2
查看cpu状态
间隔1秒显示一次,总共显示2次

3、找出使用io高的进程的工具 iotop

yum install iotop -y

直接执行 iotop 命令

4、lsof查看端口占用情况

需要安装 :yum -y install lsof

lsof -i 列出占用端口情况

lsof -i:80 查看80端口情况
### 回答1: CentOS 7中的/dev/shm是一个特殊的文件系统,它是一个临时内存文件系统,用于在内存中暂时存储数据。 /dev/shm目录是在系统启动时自动创建的,并且默认情况下占用了总内存的一半作为临时文件存储区域。它的大小可以通过修改/etc/fstab文件中的shm大小参数来进行调整。 与传统的磁盘文件系统不同,/dev/shm并不存储在硬盘上,而是将数据存储在内存中。这样可以大大提文件的读写速度,因为内存的访问速度比硬盘快得多。 /dev/shm通常用于存储临时文件、缓存和进程间通信(IPC)等,可以在开发和测试环境中发挥重要作用。例如,在编译大型项目时,可以将临时的编译文件存储在/dev/shm中,以加快编译速度。 另外,/dev/shm也可以用作共享内存区域,用于不同进程之间共享数据。通过在不同的进程间映射同一个/dev/shm文件,可以实现效的数据共享。 需要注意的是,由于/dev/shm存储在内存中,系统重启或关机后,其中的数据将会丢失。因此,我们应该谨慎使用/dev/shm,并定期清理不再需要的临时文件,以释放内存空间。 总之,CentOS 7中的/dev/shm是一个临时内存文件系统,可以用于存储临时文件、缓存和进程间通信,以提读写速度和实现数据共享。 ### 回答2: CentOS 7中的/dev/shm是一个特殊的文件系统,它是一个在内存中存储数据的临时文件系统。 /dev/shm目录是一个共享内存段(Shared Memory Segment),它允许进程之间共享内存。它的设计初衷是为了提性能,因为访问内存比访问硬盘或SSD快得多。 在CentOS 7上,/dev/shm默认情况下是以半个物理内存大小设置的。这意味着如果您的计算机有8GB的物理内存,则/dev/shm将被设置为4GB。您可以通过查看/proc/mounts文件或运行df -hT命令来验证/dev/shm的大小。 您可以使用/dev/shm目录来存储临时文件,特别是需要频繁读写的文件。这样做可以减少磁盘I/O操作,从而提系统性能。在某些情况下,将临时文件存储在内存中可能会更安全,因为内存中的数据在系统重新启动后会被清除。 但是需要注意的是,由于/dev/shm是一个共享内存段,所以存储在其中的数据不是持久的,会在系统重启时丢失。因此,您应该确保在必要时将重要的数据备份到其他位置。 总之,CentOS 7中的/dev/shm是一个位于内存中的临时文件系统,可以用于存储临时文件,提系统性能。但由于数据不是持久的,所以需要注意数据的安全性和备份。 ### 回答3: CentOS 7中的/dev/shm是一个特殊的内存文件系统,用于临时存储和共享数据。它是一个虚拟文件系统,可以在内存中创建一个目录,读写操作在内存中进行,而不是在硬盘上进行。 /dev/shm通常被用作共享内存(Shared Memory)的目录,可以在多个进程之间共享数据。它可以提供比传统的文件操作更快的读写速度,因为内存的访问速度比硬盘要快得多。 在CentOS 7中,/dev/shm的大小默认为一半的物理内存大小。你可以通过修改操作系统的内核参数来修改/dev/shm的大小。例如,可以编辑/etc/fstab文件,并添加一行类似于"tmpfs /dev/shm tmpfs defaults,size=2G 0 0"的配置,将/dev/shm的大小设置为2GB。 在使用/dev/shm时,需要注意的是它只在系统启动时会被创建,并且在每次重启后会被清空。因此,不应该将重要的数据存储在/dev/shm中,而应该选择其他持久性存储方法,如硬盘或数据库。 总之,CentOS 7中的/dev/shm是一个临时内存文件系统,用于临时存储和共享数据。它在多进程共享数据时提供了更快的读写速度,并可以通过修改内核参数来调整大小。但它并不适用于持久性存储,因此不应该将重要的数据放在其中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值