jdb2 mysql io_CentOS 6.4系统中jdb2进程占用io过高的解决方法

某日在检测一系统性能时,发现io性能总是无故被消耗,即使应用程序很空闲,io使用程度也

很高.

使用iotop工具查看io情况.

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00

B/s

TID  PRIO  USER     DISK

READ  DISK WRITE  SWAPIN

IO>

COMMAND

3584 be/4 mysql       0.00

B/s    0.00 B/s  0.00 %  0.00 %

[jbd2/dm-0-8]

1 be/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 % init

2 be/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 %

[kthreadd]

1118 be/3 root        0.00

B/s    3.85 K/s  0.00 %  0.00 % auditd

2152 be/4 mysql       0.00

B/s    3.85 K/s  0.00 %  0.00 % mysqld

--basedir=/usr/local/Perco~--socket=/var/lib/mysql/mysql.sock

1317 be/4 haldaemo  100.10 K/s    0.00

B/s  0.00 %  0.00 % hald

3584 rt/4 mysql       0.00

B/s    0.00 B/s  0.00 %  0.00 % mysqld

--basedir=/usr/local/Perco~--socket=/var/lib/mysql/mysql.sock

11027 rt/4 root      193.22

K/s    0.00 B/s  0.00 % 21.38 % plymouthd

--mode=shutdown

1317 be/4 haldaemo  297.56 K/s    0.00

B/s  2.39 %  8.33 % hald

1569 be/4 root       92.75

K/s    0.00 B/s  0.00 %  4.97 %

console-kit-daemon

--no-daemon

462 be/3 root       30.92

K/s    0.00 B/s  4.21 %  3.08 % udevd

-d

1118 be/3 root        0.00

B/s    3.86 K/s  0.00 %  0.00 %

auditd

1283 be/4 root       30.92

K/s    0.00 B/s  0.00 %  0.00 % cupsd -C

/etc/cups/cupsd.conf

785 be/3 root       81.15

K/s    0.00 B/s  3.96 %  0.00 % udevd

-d

2122 be/4 apache    312.19

K/s    0.00 B/s 77.32 %  0.00 %

httpd   d_usbd]

2123 be/4 apache    312.19

K/s    0.00 B/s 77.66 %  0.00 %

httpd

3497 be/4 apache    312.19

K/s    0.00 B/s 78.87 %  0.00 %

httpd

376 be/3 root        0.00

B/s   11.05 K/s  0.00 %  2.84 %

[jbd2/dm-0-8]

2139 be/4 mysql       0.00

B/s    0.00 B/s  0.00 %  0.22 % mysqld

--basedir=/usr/local/Perco~--socket=/var/lib/mysql/mysql.sock

2152 be/4 mysql       0.00

B/s    3.68 K/s  0.00 %  0.00 %

[jbd2/dm-0-8]

376 be/3 root        0.00

B/s    0.00 B/s  0.00 %  0.12 %

[jbd2/dm-0-8]

2144 be/4 mysql       0.00

B/s   11.67 K/s  0.00 %  0.08 % mysqld

--basedir=/usr/local/Perco~--socket=/var/lib/mysql/mysql.sock

2154 be/4 mysql       0.00

B/s  155.62 K/s  0.00 %  0.06 % [jbd2/dm-0-8]

376 be/3 root        0.00

B/s    0.00 B/s  0.00 %  0.04 %

[jbd2/dm-0-8]

发现大量jdb2进程占用io资源.jdb2进程是一个文件系统的写journal的进程,写的次数实在太频繁了,通过perf工具查看

系统相关的占用io的调用

Samples: 1K of event 'block:block_rq_issue', Event count

(approx.): 1344

+  58.71%  jbd2/dm-0-8

[kernel.kallsyms]   [k] child_rip

+  12.87%  flush-253:0

[kernel.kallsyms]   [k] _spin_unlock_irqrestore

+  11.31%  flush-253:0

[kernel.kallsyms]   [k] child_rip

+   8.85%

mysqld  libpthread-2.12.so  [.] 0x000000000000ec0d

+   2.01%  jbd2/dm-0-8

[kernel.kallsyms]   [k] memset

+   1.19%

mysqld  [kernel.kallsyms]   [k]

_spin_unlock_irqrestore

+   0.97%    kblockd/0

[kernel.kallsyms]   [k] child_rip

+   0.37%    kblockd/0

[kernel.kallsyms]   [k] _spin_unlock_irqrestore

+   0.37%  flush-253:0

[kernel.kallsyms]   [k] scsi_request_fn

+

0.37%

dd  [kernel.kallsyms]   [k] sha_transform

+

0.30%

ls

ld-2.12.so

[.] dl_main

+   0.30%  flush-253:0

[kernel.kallsyms]   [k] blk_queue_bio+

0.22%

who

ld-2.12.so

[.] memset+

0.22%  jbd2/dm-0-8  [kernel.kallsyms]   [k]

_spin_unlock_irqrestore+

0.22%  flush-253:0  [kernel.kallsyms]

[k] kmem_cache_alloc

可以看到jbd2/dm-0-8占用了将近60%的io资源。

查询得知此现像是由于bug造成,可以升级或是通过修改文件系统的提交次数来降低.更改 commit=60后的效果

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

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 %

[migration/0]

6 rt/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 %

[watchdog/0]

7 be/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 %

[events/0]

8 be/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 %

[cgroup]

9 be/4

root        0.00

B/s    0.00 B/s  0.00 %  0.00 %

[khelper]

10 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[netns]

11 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[async/mgr]

12 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[pm]

13 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[sync_supers]

14 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[bdi-default]

15 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[kintegrityd/0]

16 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[kblockd/0]

17 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[kacpid]

18 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[kacpi_notify]

19 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[kacpi_hotplug]

20 be/4 root

0.00 B/s    0.00 B/s  0.00 %  0.00 %

[ata/0]

perf报告也显示io已经不是由jbd2消耗

Samples: 11  of event 'block:block_rq_issue', Event count

(approx.): 11

+  72.73%  flush-253:0  [kernel.kallsyms]  [k]

child_rip

+  18.18%      swapper

[kernel.kallsyms]  [k]

tick_nohz_stop_sched_tick

+   9.09%    kblockd/0

[kernel.kallsyms]  [k] child_rip

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jdb_official_v1.9.9是JDB官方发布的一个软件版本。JDB是一家知名的科技公司,专注于开发创新的软件和解决方案。这个版本号表明这是JDB官方发布的第1.9.9个版本。 随着技术的不断发展,软件版本的更新变得非常常见。每一个版本都会修复一些已知的问题,改进现有的功能,并可能会添加一些更多的特性。jdb_official_v1.9.9可能是之前版本的的更新版本,它可能包含了许多改进和修复了之前版本的一些问题。 从版本号可以看出,这个版本号的v1.9.9表示主要版本号是1,次版本号是9,修正版本号是9。主要版本号通常表示软件的重大改动和更新,次要版本号表示一些较小的更改和功能增加,修正版本号表示解决了之前版本的一些问题并进行了修复。 使用新版本的软件通常会带来许多好处。用户可以体验到更加稳定和高效的软件性能,可能会有一些新的功能和改进的用户体验。随着版本的不断更新,软件的质量也会得到提升。 总体而言,jdb_official_v1.9.9是JDB官方发布的一个软件版本,它可能修复了之前版本的问题,增加了一些新的功能,并提升了软件的性能和稳定性。对于用户来说,升级到这个版本可能会带来更好的体验和使用效果。 ### 回答2: jdb_official_v1.9.9是一个版本号,可能代表某个软件或应用程序的版本。通常,版本号的“v1.9.9”表示了此软件或应用程序的主要版本号、次要版本号和修订号。 主要版本号通常在软件进行大的功能改进或重大设计上有所变动时增加。此版本号的主要变动意味着软件的架构或功能发生了较大的改变,可能需要用户重新学习和适应新的操作方式。 次要版本号的变动通常意味着程序进行了一些较小的功能改进或 bug 修复。这样的修改通常是为了改进软件的性能、稳定性或用户体验,而不会引入重大的变动。 修订号的变动通常涉及一些细微的修改、错误修复或性能优化。这些变动可能不会对用户使用产生显著的影响,但是对软件的完善和稳定性起到了重要作用。 因此,通过jdb_official_v1.9.9这个版本号,我们可以推测软件或应用程序经历了较大的功能改进和设计变动,同时也进行了一些次要的功能改进和修复工作。对于用户来说,升级到这个版本可能会带来更好的使用体验、更高的性能和更好的稳定性。 ### 回答3: jdb_official_v1.9.9是一个软件版本号,它可能代表某一款软件的第1.9.9版。这个版本号可能是由软件开发公司或开发者为了识别和跟踪他们软件的不同版本而设立的。 根据版本号的最后一位为9,我们可以推测这是该软件的第199个更新或修正的版本,表示该软件经历了多次改进和修复。版本号通常是根据软件更新的内容、功能或修复的问题来分配的,因此,每个版本的更新可能会带来新的特性、改进用户体验或解决旧版本存在的问题。 对于jdb_official_v1.9.9而言,可能存在以下几种情况:首先,这个版本可能引入了新的功能或界面设计的改进,提供了更好的用户体验和操作便利性。其次,这个版本可能修复了之前版本存在的一些漏洞或bug,增强了软件的稳定性和安全性。最后,这个版本可能包含了对软件性能的优化,使其更加高效和流畅。 对于用户来说,升级到jdb_official_v1.9.9可以带来许多好处。他们将能够使用新添加的功能,享受改进后的界面设计,并获得更好的用户体验。此外,修复的漏洞和bug还将提高软件的可靠性和安全性,减少使用过程可能遇到的问题。 总之,jdb_official_v1.9.9是该软件的一个版本号,代表了该软件经历了199次更新和修复。升级到这个版本将带来新的功能、改进的用户体验以及更好的软件性能和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值