Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?

简介: Linux操作系统调优相关工具(三)查看IO运行状态相关工具 查看哪个磁盘或分区最繁忙?

三、查看IO运行状态相关工具

通过iostat命令查看IO是否存在瓶颈

iostat 可以显示CPU和I/O系统的负载情况及每个磁盘分区的读写状态信息. 从而知道我们系统IO 是否存在问题。

1.查看文件系统块大小  

对于xfs文件系统,查看文件系统块大小
[root@120 ~]# xfs_growfs -l /dev/sda1 |grep bsize

2.找出系统中对磁盘读写最多的进程

2.1 通过iostat命令查看IO是否存在瓶颈
安装iostat:  yum install sysstat -y

常用参数:

-d 仅显示磁盘统计信息

-k 以K为单位显示每秒的磁盘请求数,默认单位块.

-p device | ALL 用于显示块设备及系统分区的统计信息.

例:显示每个分区读写速度  iostat -p sda -dk

每列含意:

kB_read/s   每秒从驱动器读入的数据量,单位为K.

kB_wrtn/s    每秒向驱动器写入的数据量,单位为K.

kB_read    读入的数据总量,单位为K.

kB_wrtn    写入的数据总量,单位为K.

iostat -xk 1 5

 

 

测试: 给磁盘写入一些内容

dd if=/dev/zero  of=a.txt bs=10M  count=1000 ; sync

读入的数据用/dev/zero ,不会磁盘的读 花费很多开销。

sync  #把内存中的数据快速写到磁盘上。 只做dd不执行sync,看不出写入效果

实战2:查看哪个进程使用磁盘读写最多?

iotop命令,查看哪个进程使用磁盘读写最多

场景: 比如服务器很卡,查看CPU使用率不高,内存也够用,但就是卡,尤其是打开新程序或文件时,更卡。此时是哪出问题了?

iotop -o -d 1   #显示正在使用磁盘的进程

参数:

-o, -only 只显示在读写硬盘的程序

-d SEC, –delay=SEC  设定显示时间间隔

退出,按q或ctrl+C

 

 

目录
相关文章
|
7月前
|
Ubuntu Unix Linux
操作系统的最强入门科普(Unix/Linux篇)
下期文章,小枣君会重点聊聊Windows和macOS那条线。敬请关注! 如果大家觉得文章不错,还请帮忙多多转发!谢谢!
|
7月前
|
监控 Ubuntu Linux
什么Linux,Linux内核及Linux操作系统
上面只是简单的介绍了一下Linux操作系统的几个核心组件,其实Linux的整体架构要复杂的多。单纯从Linux内核的角度,它要管理CPU、内存、网卡、硬盘和输入输出等设备,因此内核本身分为进程调度,内存管理,虚拟文件系统,网络接口等4个核心子系统。
431 0
|
7月前
|
Unix 物联网 Linux
都什么年代了,你还不懂啥是Linux操作系统
至于华为鸿蒙操作系统是不是独树一帜,这个留给各位阅读本文的网友们来讨论
220 0
|
7月前
|
Web App开发 缓存 Rust
|
7月前
|
安全 Linux iOS开发
linux属于什么操作系统
Linux是一种自由和开放源代码的操作系统,具有高度的灵活性和可定制性。与常见的操作系统如Windows和macOS相比,Linux具有自由、安全和稳定等优势。Linux已广泛应用于服务器、桌面电脑、超级计算机和嵌入式设备等领域,并且在未来的发展前景广阔。由于其自由和开放源代码的特性,Linux还促进了计算机技术和社区的发展,为全球的计算机用户提供了更多的选择和可能性。
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
5月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
244 1
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
812 12
|
Java 数据处理
Java IO 接口(Input)究竟隐藏着怎样的神秘用法?快来一探究竟,解锁高效编程新境界!
【8月更文挑战第22天】Java的输入输出(IO)操作至关重要,它支持从多种来源读取数据,如文件、网络等。常用输入流包括`FileInputStream`,适用于按字节读取文件;结合`BufferedInputStream`可提升读取效率。此外,通过`Socket`和相关输入流,还能实现网络数据读取。合理选用这些流能有效支持程序的数据处理需求。
637 2