频繁使用的原因


15

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

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

kjournald行动只是写道。

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


您正在使用什么操作系统。您可以发布uname信息吗?
Soham Chakraborty

我遇到了完全相同的问题
Sharen Eayrs,2013年

Answers:


15

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

从理论上讲,您可以使用ext3日记记录的其他模式之一,并检查CPU使用率是否下降,但是请记住,每种方法都是对写入磁盘的数据安全性的折衷。您已订购模式,写回模式和“所有”模式。

  1. 已订购:仅日志元数据,但确保在将元数据更改提交到日志之前已保存与元数据相关的数据。
  2. 回写:仅记录日志元数据,但不能保证在提交日志之前已保存数据。
  3. 日志:所有内容均已记录日志,数据和元数据。可能很慢,但是YMMV。

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


与完全关闭日志记录模式相反,改变日志记录没有意义,但它也没有意义。因此,描述哪些日记帐选项确实没有意义。
poige 2011年

3
不同的日记模式显示不同的CPU行为。这里进行一些测试。
coredump

1
@coredump,仍然毫无意义。没有图表显示不同日记模式的CPU使用率,仅显示吞吐量。实际上,CPU使用率图仅显示FS之间的差异。同样,考虑到该图上EXT3和Reiser3之间的明显差异,很明显,已分析了总体和平均 CPU占用空间,其中@viraptor有kjournald活动。
poige

那时我们将不同意。仅在他的环境中进行测试会显示CPU使用率是否存在差异。我也不推荐ReiserFS,因为政府永久锁定了FS作者:)。
coredump

8
在这里,请喝杯幽默:\
coredump

4

默认情况下,将在打开atime的情况下挂载ext3文件系统。每次读取/访问文件或目录时,文件系统都必须写回磁盘以更新该时间记录。这意味着,即使您的工作负载主要是基于读取的,您仍然需要打磁盘以更新每个文件和目录的访问时间,这是我猜测您的kjournald过程为什么要写入这么多块的原因。

关闭定时功能将大大提高性能,但会破坏POSIX的合规性。查看这篇Wikipedia文章,了解有关对atime的批评的一些讨论。

要关闭定时功能,只需添加noatime文件系统的挂载选项,或者可以按照poige的建议重新挂载。这是您的根文件系统的示例:

mount -o remount,noatime /

3
请注意,较新的内核默认使用,relatime这似乎是noatime和之间可接受的折衷方案atime
奥利弗(Oliver)

1

如果数据的完整性不重要,请执行此操作

iostat -o -a

确保它确实是kjournald。是什么导致我的服务器崩溃。

将硬盘驱动器更改为SSD即可。

当您看到kjournald写入5-10MB的数据时,您会执行

http://ubuntuforums.org/showthread.php?t=56621

sudo tune2fs -O ^has_journal /dev/sda1
sudo e2fsck /dev/sda1

sda1是您分区的名称

在评论中报告结果,以便我进一步检查。


3
您是说iotop,而不是iostat,对吗?
Joe Niland

0

不按顺序做,只说:

  1. mount -oremount,noatime /fs/being_over/journaled-作为快速猜测(mount无论如何您都没有向我们展示您的外观)
  2. 尝试减小日志大小(tune2fs -J …
  3. 切换到Reiser3(鲁棒性很长时间,是的。而且从来没有如此讨厌的日志记录。)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.