首页 > 编程知识 正文

top命令查看cpu使用率超过100%,python执行效率

时间:2023-05-04 01:14:17 阅读:171140 作者:63

使用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重新启动后仍然存在的神秘性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。