Arch Linux对khugepaged无响应


8

我是VMware工作站10.0.3的重度用户,因此我的系统上有32GB RAM。我唯一的操作系统是Arch Linux,在桌面上使用Unity。

通常,当我有两个运行着约3GB RAM的虚拟机时,实际上经常且随机地,整个系统会在几秒钟内变得无响应。

在终端上运行“ top”时,罪魁祸首似乎是khugepaged命令,该命令在系统对100%CPU无响应时消失,然后消失。

有什么办法可以避免这种情况?我曾搜索过有关khugepaged的信息,但似乎只发现了2011年以来的古老帖子或未回答的问题。

这些是我的完整系统规格:

  • 处理器:Intel i5 4570@3.2GHz
  • 32GB Corsair Vengeance RAM @ 2400MHz
  • M / B ASrock Z87 Pro 4

您的交换设置是什么样的?这种挂起通常与交换使用有关。下次挂起时,您可以检查交换吗?它仅在主动交换时挂起吗?
terdon

为什么要交换32GB RAM?它几乎不会耗尽物理RAM。我有一个1GB的小型交换分区-因为它位于SSD上,所以我不想浪费房地产。我没有更改swappiness,我想它是默认值。
Angelos Kyritsis 2014年

好吧,arch的默认设置为60,这意味着它将在RAM耗尽之前很长时间开始交换。我并不是说肯定会交换,但似乎确实有可能。尝试设置较低的值。
terdon

好的,我将其设置为5。如果有所不同,我会告诉您。
Angelos Kyritsis 2014年

Answers:


10

我在Ubuntu上也有类似的问题。我使用的解决方法是:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

解决方法的来源是Fedora错误报告“ khugepaged吃了100%CPU”。该错误从未修复。

这样就不那么激烈了,然后会禁用整个transparent_hugepage支持。有关命令功能的详细说明,请参见透明的大页面支持文档


echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag; echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
特维诺

@Treviño,请问答案的提出者有什么区别:为什么要用一个| sudo tee代替>
乔马

1
@Joma sudo echo $value > output在Ubuntu中不起作用,您需要使用该tee技巧,或者从sudo -sshell中进行操作。
特维诺

认真地说,我为此深爱着您,@ pawel-jasinski –这是5年以来我第一次真正可以在没有VMware的情况下与VMware一起工作,它可以定期冻结主机和来宾OS。
西蒙·埃格斯特

1
@Joma第一个命令必须从root shell运行。使用时sudo echo X > Y,只能echo X以root用户身份运行,而不能> Y(将输出转发到文件中)不是root用户。
Simon A. Eugster

1

khugepaged可能是问题,请尝试以下操作:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

这有助于我在最近的Arch Linux上解决此问题...


4
嗨,欢迎来到该网站!我们希望答案在这里更加详细。您能否编辑您的答案并解释您建议的命令做什么以及它将如何帮助您?
terdon

1
如果您不确定这是解决方案,也请@ArchUser发出评论。
vfbsilva 2015年
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.