网站首页 > 文章中心 > 其它

linux常见io命令

作者:小编 更新时间:2023-09-14 19:36:45 浏览量:261人看过

linux系统如何查看网络IO?

首先 、用top命令查看

其次、 用iostat -x 1 10

avg-cpu: ?%user ? %nice ? ?%sys %iowait ? %idle

Device: ? ?rrqm/s ?wrqm/s ? r/s ? ?w/s ? ? rsec/s ? wsec/s ? ?rkB/s ? ?wkB/s avgrq-sz avgqu-sz ? await ?svctm ?%util

sda ? ? ? ? ?0.00 ? ?0.00 ? ? ?0.00 ? 0.00 ? ?0.00 ? ?0.00 ? ? ? ? 0.00 ? ? 0.00 ? ? 0.00 ? ? ? ? ? 0.00 ? ?0.00 ? ?0.00 ? 0.00

sdc ? ? ? ? ?0.00 ? ?0.00 ? ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? ? ?0.00 ? ? 0.00 ? ? 0.00 ? ? ? ? ? ? 0.00 ? ?0.00 ? ? ?0.00 ? 0.00

如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈.

同时可以结合vmstat 查看查看b参数(等待资源的进程数)

vmstat -1

如果你想对硬盘做一个IO负荷的压力测试可以用如下命令

我们在新建文件夹的同时来测试IO的负荷情况.

linux查看磁盘io的几种方法

linux查看磁盘io的几种方法

怎样才能快速的定位到并发高是由于磁盘io开销大呢?可以通过三种方式:

第一种:用 top 命令 中的cpu 信息观察

Top可以看到的cpu信息有:

具体的解释如下:

①. running 正在运行的进程数

0 stopped 停止的进程数

0 zombie 僵尸进程数

Cpu(s):

①0% sy 内核空间占用CPU百分比

0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比

0.0% wa 等待输入输出的CPU时间百分比

0.0% hi

0.0% si

0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁.如果 wa的数量比较大,说明等待输入输出的的io比较多.

第二种:用vmstat

vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息.由 vmstat 命令生成的报告可以用于平衡系统负载活动.系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和.

输入命令:

如果发现等待的进程和处在非中断睡眠状态的进程数非常多,并且发送到块设备的块数和从块设备接收到的块数非常大,那就说明磁盘io比较多.

vmstat参数解释:

Procs

r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数.此数由 linux 计算得出,但 linux 并不耗尽交换空间

Memory

swpd: 虚拟内存使用情况,单位:KB

free: 空闲的内存,单位KB

buff: 被用来做为缓存的内存数,单位:KB

Swap

si: 从磁盘交换到内存的交换页数量,单位:KB/秒

so: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO

bi: 发送到块设备的块数,单位:块/秒

bo: 从块设备接收到的块数,单位:块/秒

System

in: 每秒的中断数,包括时钟中断

cs: 每秒的环境(上下文)切换次数

CPU

按 CPU 的总使用百分比来显示

us: CPU 使用时间

sy: CPU 系统使用时间

id: 闲置时间

准测

更多vmstat使用信息

第二种:用iostat

安装:

Iostat 是 sysstat 工具集的一个工具,需要安装.

Centos的安装方式是:

yum install sysstat

Ubuntu的安装方式是:

aptitude install sysstat

使用:

iostat -dx 显示磁盘扩展信息

r/s 和 w/s 分别是每秒的读操作和写操作,而rKB/s 和wKB/s 列以每秒千字节为单位显示了读和写的数据量

如果这两对数据值都很高的话说明磁盘io操作是很频繁.

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

linux wa%过高,iostat查看io状况

①., 安装?iostat?

之后就可以使用?iostat 命令了,

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)."一次传输"意思是"一次I/O请求".多个逻辑请求可能会被合并为"一次I/O请求"."一次传输"请求的大小是未知的.kB_read/s:每秒从设备(drive expressed)读取的数据量;

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;

kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes.

指定监控的设备名称为sda,该命令的输出结果和上面命令完全相同.

默认监控所有的硬盘设备,现在指定只监控sda.?

iostat还有一个比较常用的选项 -x ,该选项将用于显示和io相关的扩展数据.

iostat -d -x -k 1 10

输出信息的含义

.

iostat -d -k 1 10? ? ? ? #查看TPS和吞吐量信息(磁盘读写速度单位为KB)

iostat -d -x -k 1 10? ? ? #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态

iostat -d -k 1 | grep vda

Device:? ? ? ? ? ? tps? ? kB_read/s? ? kB_wrtn/s? ? kB_read? ? kB_wrtn

iostat -d -x -k 1

Device:? ? rrqm/s wrqm/s? r/s? w/s? rsec/s? wsec/s? ? rkB/s? ? wkB/s avgrq-sz avgqu-sz? await? svctm? %util

svctm? ? 表示平均每次设备I/O操作的服务时间(以毫秒为单位).如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,

如果await的值远高于svctm的值,则表示I/O队列等待太长,? 系统上运行的应用程序将变慢.

%util: 在统计时间内所有处理IO时间,除以总共统计时间

所以该参数暗示了设备的繁忙程度

.一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈).

也可以使用下面的命令,同时显示cpu和磁盘的使用情况

Linux系统常见命令

which:which [文件名] which mysql;

find:-name 按照文件名查找文件,

如:find /dir -name filename 在/dir目录及其子目录下面查找名字为filename的文件.

linux 中的查看进程命令;find . -name "*.c" 在当前目录及其子目录(用"."表示)中查找任何扩展名为"c"的文件.

ps命令 是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息.

基本操作: ps -le #查看系统中所有的进程,使用 Linux 标准命令格式 ;ps aux #查看系统中所有的进程,使用 BS 操作系统格式.

可选项

a: 显示一个终端的所有进程;

u: 显示进程的归属用户及内存的使用情况;

x: 显示没有控制终端的进程;

-l: 长格式显示更加详细的信息;

-e: 显示所有进程;

最常用的两种:"ps aux" 可以查看系统中所有的进程;"ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;"ps -l" 可以查看当前登录 产生了哪些进程

创建文件:

echo "内容" hehe.txt : 它允许你在创建一个文件时就向其中输入一些文本;

查看文件:

cat 文件名 : 由第一行开始显示内容,并将所有内容输出;

more 文件名 : 根据窗口大小,一页一页的现实文件内容;

tail : 可以实时打印最新的日志信息;

ls 执行的功能:列出指定目录中的目录,以及文件;

以上就是土嘎嘎小编为大家整理的linux常见io命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章