首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎么才能弄清楚是什么在冻结我的机器?

我怎么才能弄清楚是什么在冻结我的机器?
EN

Unix & Linux用户
提问于 2015-04-12 04:11:08
回答 3查看 5.9K关注 0票数 11

我在这台机器上运行拱门:

3.40GHz i7 DDR3 (4930K) 16 in DDR3 1600 EVO 2xSamsung 840 EVO在Raid0 (使用BTRFS )

当我用几个VM (2或3)在我的拱门上运行VMware时,每个内核大约有2-4个内核,每个内存都有2GB,我的系统就开始随机冻结。每隔几分钟,系统将冻结10至30秒,然后再开始移动,直到30秒后冻结,直到我关闭VM。当系统冻结时,鼠标仍然移动良好,但是应用程序在主机上停止响应-- vmware没有响应,firefox (在主机上也是打开的)没有响应,等等。

当冻结发生时,如果我有进程监视器正在运行,它确实显示了几个被vmware关闭的内核,但同时,还有其他未使用的内核。我还有足够的内存--VM总共使用6GB,主机还剩10 6GB。我有0交换空间,所以交换不可能减缓任何事情。

有报道称,由于btrfs导致文件系统级别上的文件碎片,虚拟机可能运行缓慢。然而,据我所知,在传统硬盘上,碎片只是一个问题--SSD没有读取寻找的头,所以他们不关心文件是否是高度碎片的。

这在我运行Debian 7时从未发生过,所以我很确定这不是硬件问题。

我能用什么工具来弄清楚为什么我的系统会结冰呢?我尝试过top/htop和iotop (当系统冻结时,没有什么东西是写或读过多的)。对于btrfs来说,似乎没有任何一种活动监控器来判断它是否有任何问题来跟上写/读的进度。还有什么我可以试试的吗?

EN

回答 3

Unix & Linux用户

发布于 2015-04-12 05:14:38

来自btrfs 抓取页

大量随机写入的文件可能会变得严重碎片(10000+范围),导致HDD崩溃,以及在具有SSD或大量内存的系统上过多地增加CPU负载。

  • 在服务器和工作站上,这会影响数据库和虚拟机映像。
    • nodatacow挂载选项在这里可能有用,并附带相关的即插即用。

..。

  • 症状包括btrfs-transacti和btrfs-endio-wri占用大量CPU时间(尖峰,可能由同步触发)。您可以使用filefrag来定位严重支离破碎的文件(可能在压缩时不能正常工作)。

我有类似的问题,正如你用Virtualbox描述的那样。btrfs的nodatacow选项对我的系统没有明显的帮助。我也尝试了自动碎片整理选项(作为桌面环境中应用程序数据库的一种可能的解决方案),也没有结果,这将使行为可以接受。

最后,我缩小了btrfs部分和它所在的逻辑卷,创建了一个新LV并将其格式化为ext4,然后将我拥有的VM磁盘映像(VirtualBox)放在“分区”上。

票数 15
EN

Unix & Linux用户

发布于 2017-09-20 22:08:55

这个问题完全解决了,没有在分区上使用LUKS。所以我直接用BTRFS格式化分区,而不是先用LUKS格式化。

还安装了以下参数:

代码语言:javascript
复制
/dev/sda2 /           btrfs       rw,noatime,space_cache,compress=lzo,ssd,discard,autodefrag,commit=0,thread_pool=8 0 0

深渊一般dm-crypt (LUKS)写入性能相关

票数 1
EN

Unix & Linux用户

发布于 2017-09-17 14:36:17

这可能是一个透明的抱页问题,在这个问题上,内核线程正在挖掘内存来对其进行碎片整理,或者从4k个内存中提取巨大的内存。

考虑到您的系统RAM数量相当大,内核本可以决定启用hugepage。

检查这两个内核可调的内容:

代码语言:javascript
复制
/sys/kernel/mm/transparent_hugepage/enabled
/sys/kernel/mm/transparent_hugepage/defrag

如果它们的内容是always,您可以在never中进行更改,并查看cpu峰值/冻结是否消失。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/195735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档