您现在的位置是:主页 > news > 顺德做网站公司/百度seo推广是什么

顺德做网站公司/百度seo推广是什么

admin2025/4/26 23:08:04news

简介顺德做网站公司,百度seo推广是什么,wordpress月亮花园,外贸网站建设网站优化除了 CPU 和内存,硬盘读写(I/O)能力也是影响Linux系统性能的重要因素之一。本节将介绍几个可用来查看硬盘读写性能的系统命令,并教大家如何通过这些命令的输出结果,判断出当前系统中硬盘是否处于超负荷运转。Linux查看硬盘读写性能&#xff1…

顺德做网站公司,百度seo推广是什么,wordpress月亮花园,外贸网站建设网站优化除了 CPU 和内存,硬盘读写(I/O)能力也是影响Linux系统性能的重要因素之一。本节将介绍几个可用来查看硬盘读写性能的系统命令,并教大家如何通过这些命令的输出结果,判断出当前系统中硬盘是否处于超负荷运转。Linux查看硬盘读写性能&#xff1…

除了 CPU 和内存,硬盘读写(I/O)能力也是影响Linux系统性能的重要因素之一。本节将介绍几个可用来查看硬盘读写性能的系统命令,并教大家如何通过这些命令的输出结果,判断出当前系统中硬盘是否处于超负荷运转。

Linux查看硬盘读写性能:sar -d命令

主要讲解如何通过 sar -d 命令分析出硬盘读写的性能。

下面是执行 sar -d 命令的输出结果样例:[root@localhost ~]# sar -d 3 5

Linux 2.6.32-431.el6.x86_64 (localhost)     10/25/2019     _x86_64_    (1 CPU)

06:36:52 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util

06:36:55 AM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

06:36:55 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util

06:36:58 AM    dev8-0      1.00      0.00     12.00     12.00      0.00      0.00      0.00      0.00

06:36:58 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util

06:37:01 AM    dev8-0      1.99      0.00     47.76     24.00      0.00      0.50      0.25      0.05

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util

Average:       dev8-0      1.00      0.00     19.97     20.00      0.00      0.33      0.17      0.02

结合以上输出结果,可以遵循如下标准来判断当前硬盘的读写(I/O)性能:通常情况下 svctm 的大小和硬盘性能有关,其值小于 await。但需要注意的是,CPU、内存的负荷也会对 svctm 的值造成影响,过多的请求也会间接导致 svctm 值的增加。

await 值通常会受到 svctm、I/O 队列长度以及 I/O 请求模式的影响,如果 svctm 的值和 await 很接近,则表示几乎没有 I/O 等待,当前硬盘的性能很好;如果 await 的值远高于 svctm,则表示 I/O 队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。

%util 项也是衡量硬盘 I/O 性能的重要指标,即如果其值接近 100%,就表示硬盘产生的 I/O 请求太多,I/O 系统正在满负荷工作,长期这样会影响系统的性能。必要时,可以优化程序或者更换更大、更快的硬盘来解决这个问题。

Linux查看硬盘读写性能:iostat -d命令

通过执行 iostat -d 命令,也可以查看系统中硬盘的使用情况,如下是执行此命令的一个样例输出:[root@localhost ~]# iostat -d 2 3

Linux 2.6.32-431.el6.x86_64 (localhost)  10/30/2019  _x86_64_ (8 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               5.29       337.11         9.51     485202      13690

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               1.00         8.00        16.00         16         32

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

sda               0.00         0.00         0.00          0          0

此输出结果中,我们重点看后面 4 列,它们各自表示的含义分别是:Blk_read/s:表示每秒读取的数据块数;

Blk_wrtn/s:表示每秒写入的数据块数;

Blk_read:表示读取的所有块数;

Blk_wrtn:表示写入的所有块数。注意,此输出结果中,第一次输出的数据是系统从启动以来直到统计时的所有传输信息,从第二次输出的数据开始,才代表在指定检测时间段内系统的传输值。

根据 iostat 命令的输出结果,我们也可以从中判断出当前硬盘的 I/O 性能。比如说,如果 Blk_read/s 的值很大,就表示当前硬盘的读操作很频繁;同样,如果 Blk_wrtn/s 的值很大,就表示当前硬盘的写操作很频繁。对于 Blk_read 和 Blk_wrtn 的大小,没有一个固定的界限,不同的系统应用对应值的范围也不同。但如果长期出现超大的数据读写情况,通常是不正常的,一定程度上会影响系统性能。

不仅如此,iostat 命令还提供了统计指定硬盘 I/O 状况的方法,即使用 -x 选项。例如:[root@localhost ~]# iostat -x /dev/sda 2 3

Linux 2.6.32-431.el6.x86_64 (localhost)  10/30/2019  _x86_64_ (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

0.09    0.00    0.24    0.26    0.00   99.42

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

sda               2.00     0.56    2.92    0.44   206.03     7.98    63.56     0.03    9.99   5.31   1.79

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

0.31    0.00    0.06    0.00    0.00   99.62

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/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

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

0.50    0.00    0.06    0.00    0.00   99.44

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/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

此输出结果基本和 sar -d 命令的输出结果相同,需要额外说明的几个选项的含义如下:rrqm/s:表示每秒被合并的读操作数目(文件系统会对读取同一 block 块的请求进行合并)

wrqm/s:表示每秒被合并的写操作数目;

r/s:表示每秒完成读 I/O 设备的次数;

w/s:表示每秒完成写 I/O 设备的次数;

rsec/s:表示每秒读取的扇区数;

wsec/s:表示每秒写入的扇区数;

Linux查看硬盘读写性能:vmstat -d命令

使用 vmstat 命令也可以查看有关硬盘的统计数据,例如:[root@bogon ~]# vmstat -d 3 2

disk- ------------reads------------ ------------writes----------- -----IO------

total merged sectors      ms  total merged sectors      ms    cur    sec

sda     6897   4720  485618   71458   1256   1475   21842    9838      0     43

disk- ------------reads------------ ------------writes----------- -----IO------

total merged sectors      ms  total merged sectors      ms    cur    sec

sda     6897   4720  485618   71458   1256   1475   21842    9838      0     43

该命令的输出结果显示了硬盘的读(reads)、写(writes)以及 I/O 的使用状态。

以上主要讲解了如何通过命令查看当前系统中硬盘 I/O 的性能,其实影响硬盘 I/O 的因素是多方面的,例如应用程序本身、硬件设计、系统自身配置等等。

要想解决硬盘 I/O 的瓶颈,关键是要提高 I/O 子系统的执行效率。比如说,首先从应用程序上对硬盘读写性能进行优化,能够放到内存中执行的操作尽量别保存到硬盘里(内存读写效率要远高于硬盘读写效率);其次,还可以对硬盘存储方法进行合理规划,选择合适的 RAID 存储方式;最后,选择适合自身应用的文件系统,必要时可以使用裸设备提高硬盘的读写性能。

在裸设备上,数据可以直接读写,不必经过操作系统级别的缓存,还可以避免文件系统级别的维护开销(文件系统需要维护超级块、I-node 块等)以及操作系统的 cache 预读功能(减少了 I/O 请求)。

Linux查看硬盘读写性能:vmstat -d命令

使用 vmstat 命令也可以查看有关硬盘的统计数据,例如:[root@bogon ~]# iotop

Total DISK read:       0.00 B/s | Total DISK write:       0.00 B/s

TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    command

1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init [3]

2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]

3 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]

4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]

5 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]

6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]

7 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]

8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]

9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]

10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/1]

11 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [khelper]

2572 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bluetooth]

该命令的输出结果显示了硬盘的读(reads)、写(writes)以及 I/O 的使用状态。选项:

-o:只显示有io操作的进程

-b:批量显示,无交互,主要用作记录到文件。

-n NUM:显示NUM次,主要用于非交互式模式。-d SEC:间隔SEC秒显示一次。

-p PID:监控的进程pid。

-u USER:监控的进程用户。

iotop常用快捷键:

左右箭头:改变排序方式,默认是按IO排序。

r:改变排序顺序。

o:只显示有IO输出的进程。

p:进程/线程的显示方式的切换。

a:显示累积使用量。

q:退出。

常用命令:

#iotop -oP

#iotop -oPa

iotop命令 是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!