如何找到影响我 I/O 的因素?

如何找到影响我 I/O 的因素?

在用作网络服务器的 Ubuntu Linux 机器上,我发现我确实在敲击 I/O:

 - dysphoria():~$ iostat -d 3 3
Linux 3.13.0-45-generic (dysphoria)     2015-10-20      _x86_64_        (1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             53.20      3228.67         3.63 1962017809    2203864
xvdf              0.00         0.00         0.00       1308          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda           1106.83     47900.72         0.00     133164          0
xvdf              0.00         0.00         0.00          0          0

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda           1003.56     53824.91         8.54     151248         24
xvdf              0.00         0.00         0.00          0          0

请注意,平均的I/O 高达 53,但当前的I/O超过1000!我如何确定导致此问题的原因?我top看到 MySQL 的 CPU 利用率为 20%,并且fatrace没有帮助:

$ sudo fatrace 
read: Value too large for defined data type

我看过这个问题但他们的问题是交换,我没有启用它,因为这是一个AWS EC2实例,与电子束系统(非本地)存储。有关机器的一些信息:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          2000       1906         94          7          3       1239
-/+ buffers/cache:        663       1337
Swap:            0          0          0

$ cat /etc/issue
Ubuntu 14.04.1 LTS \n \l

$ uname -a
Linux dysphoria 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:36:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 62
model name      : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
stepping        : 4
microcode       : 0x416
cpu MHz         : 2500.058
cache size      : 25600 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm xsaveopt fsgsbase smep erms
bogomips        : 5000.11
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

答案1

你需要iotop先使用来查找哪个程序的IO使用率高。

并使用一些工具用于 MySQL 监控。

相关内容