kjournald 使用率高的原因

vir*_*tor 15 linux filesystems tuning kjournald

我想弄清楚为什么kjournald我的机器会发疯。这是一个带有大量内存的 8 核盒子。它有大约 50% 的 CPU 负载。

iotop 似乎没有指向任何特定的进程——这里和那里的一些突发写入(主要是 cron 启动,生成的一些监控统计信息等)当我过去sys/vm/block_dump收集写入统计信息时,我得到了这样的列表:

kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Run Code Online (Sandbox Code Playgroud)

kjournald行动只是写道。

为什么会这样?我还应该注意什么来限制 kjournald 活动?这似乎与实际编写的内容不成比例。

cor*_*ump 15

kjournald负责ext3的日志(日志文件系统)。众所周知,在某些负载下会使用大量 CPU。除了使用另一个文件系统或禁用日志(有效地制作 fs ext2)之外,没有什么可做的。

理论上,您可以使用 ext3 日志的其他模式之一并检查 CPU 使用率是否下降,但请记住,每种方法都是对写入磁盘的数据安全性的妥协。您已经订购了模式、写回模式和“一切”模式。

  1. Ordered:仅记录元数据,但确保在将元数据更改提交到日志之前保存与元数据相关的数据。
  2. 回写:日志只有元数据,但不保证在日志提交之前保存数据。
  3. 日志:一切都被记录下来,数据和元数据。它可能很慢,但 YMMV。

您可以data=在安装系统时使用该选项设置模式,例如data=ordered.

  • 来,拿这杯幽默:\ (8认同)
  • 不同的日志模式表现出不同的 CPU 行为。一些测试 [here](http://www.ibm.com/developerworks/linux/linux390/perf/tuning_res_journaling.html)。 (3认同)