使用ext4
在运行hybrid SSD的Ubuntu 14.04分钟后,您看到许多进程使用IOtop阻止io。
这种减速的根本原因可以追溯到Unix系统调用同步。
从终端重复同步可能需要12秒,但正常运行时间为30分钟。
为了证明这一点,我们编写了一个脚本,该脚本在几秒钟内输出正常执行时间和同步执行所需的时间,并每秒运行一次。
while true;
do
cat /proc/uptime | awk '{printf '%f ',$1}; /usr/ckddw/time -f '%e' sync;
休眠1;
东;
执行上述脚本,等待了约1小时。 系统处于空闲状态。 结果将绘制在gnuplot中。 同步的执行时间(以y=秒为单位,正常执行时间以x=秒为单位)。
图形拍摄的时间约为1780(1780/60=约30分钟)。
初始同步之后,页面缓存中应该没有任何内容,因为此时不应该写入磁盘(脚本除外)。 随后的每个同步都将正确写入脚本中的内容。 大约100字节。
cat/proc/meminfo脏线(需要存储在页面缓存中磁盘上的数据? 和写回(HD磁盘缓冲器? 如果都为零.我的想法是调用同步来刷新这些磁盘缓存,但它仍然冻结。 即使这些缓存里什么都没有,你还做了其他什么?
重启后,该问题依然存在; 例如,如果等待30分钟以减速,然后重新启动,则减速仍然存在。 关闭电源并重新启动后,问题将持续到30分钟后。
另一种好奇心是,在检查上面的图表,扩大发生减速的区域时,我得到了这个:
axdbl和心跳加速的兔子从山谷到山谷每隔10秒发生一次。
减速前已运行hdparm测试(hdparm -t/dev/sda和hdparm -t/dev/sda )。
/dev/sda:
timingcachedreads 336023778 mbin 2.00 seconds=11900.64 MB/sec
/dev/sda:
timingbuffereddiskreads :318 mbin 3.01 seconds=105.63 MB/sec
减速中:
/dev/sda:
timingcachedreads 33602 mbin 2.24 seconds=915.50 kb/sec
/dev/sda:
timingbuffereddiskreads :300 mbin 3.01 seconds=99.54 MB/sec
实际的磁盘读取未受到影响,这是否意味着高速缓存读取与系统总线相关,而不是与硬盘相关?
这是我尝试的解决方案:
更改硬盘的spindown设置(硬盘可能处于省电模式吗? ) :
hdparm/dev/sda-s252 # (setit to5hoursbeforespindown ) )。
为了提高性能,我们将文件系统日志类型更改为回写,而不是订单。 这样不能解决问题。 这是因为没有说明30分钟不能减速的正常运行时间。 如果尝试了这个也没有变化的话。
CRON好像30分钟后出现了,所以禁用。
因为cpu使用率很好,完全空闲,所以没有归咎于我的过程。 但是,您试图关闭包括会话管理器(lightdm )在内的所有服务。 这没什么用。 因为我认为问题是低级别的。
分析进入30分钟的新工艺,发现没有变化。 我已经用前后的差分输出了PS,没有区别。
这只发生在大约两周前。 没有安装任何东西,在此期间没有进行任何更新。 我觉得这个问题的水平低得多,所以我真的很感谢你的一些帮助。 因为我无能为力,让我朝着正确的方向也很有用。
尝试在相关磁盘上启用写缓存以禁用写入故障. HD的SMART数据表明HD本身没有问题,但这使人怀疑HD重新启动后仍然存在的神秘性。