我遇到了一个非常慢的dnf的奇怪问题,以至于在安装软件包的过程中,计算机会冻结几秒钟。运行Fedora 29,但这种情况已经发生了好几年。否则电脑工作正常,不会崩溃,很明显只有dnf碰到了一些弱点。"dnf升级“不仅需要一个小时的100个软件包,而且每年我升级Fedora时,我都会等待圣诞节假期,这样我就可以在周末不用电脑生活了,因为3000+包更新在周五晚上开始,周日结束。
根目录被挂载到一个旧的SSD磁盘上,/home安装在一个新的经典磁盘上(WD Caviar ),还有另一个只用于备份的磁盘(只是为了说明已经安装了多个磁盘)。我怀疑旧的SSD行为不当,将根分区移动到一个经典磁盘上,但它并没有改善这种情况(甚至更慢)。
Journalctl或dmesg或/var/log/messages没有显示任何特殊的内容。Sysbench说,每个安装的磁盘的磁盘性能都很好,就像在另一台(旧的)计算机上运行Fedora 29一样好,dnf也很好(几分钟后升级,午餐时进行年度发布升级)。
有没有人知道在哪里能找到正在发生的事情?
Ps.top,iotop,iostat,dmesg,journalctl,这些基本的东西被检查了很多次。碘仿显示了99.99%的活度在磁盘上的蟒蛇。(dnf)当它进行升级时,我想这是正常的。甚至sysbench (如前所述)也显示磁盘比另一台轻松完成dnf的计算机要快一些。
制作: i7-920处理器,24 G内存,无交换。
发布于 2019-01-26 13:33:05
罗伯特:想知道哪种系统通话时间最长会很有趣。
您能使用perf跟踪安装一个简单的(随机)包,然后排序以找到最长的调用吗?
例如:# perf跟踪-s -o /tmp/trace.out dnf安装-y xorg-x11-apps 7.7-20.fc28.x86_64
然后发布/tmp/trace.out文件的内容。这是一个摘要文件,所以它不应该太大,但它将帮助您指出syscall(s)花费的时间最长,以及它们是否超出了正常范围。
https://unix.stackexchange.com/questions/496775
复制相似问题