抱歉,如果我说得太详细了。我是论坛新手,或者我还有另一个我不知道的帐户。
我知道社区更喜欢可以回答的问题,我希望我能得到答案,但这却是一个谜。我怀疑我的问题是由 apt-cache 引起的,但我不知道是什么原因导致 apt-cache 挂起,所以简而言之,apt-cache 挂起并导致崩溃才是我真正的问题。如果需要,请在下面详细说明。
背景故事:我有 18.04 LTS 用于桌面和游戏。一段时间以来,我一直在调查半随机发生的冻结。我注意到,如果我让它运行几天,它就会锁定,有时甚至半天就会锁定。它最终处于完全损坏的状态,没有任何响应。USB、PS/2、以太网、音频在播放时会重复,一切正常。我过去做过一些超频,但这发生在出厂设置下,我的所有硬件都通过了压力测试。我现在将主板保持在出厂设置,直到我可以解决这个问题。
经过彻底调查,并且没有已知良好的备份,我最终只能让它冻结,并通过运行 htop 来捕捉屏幕。罪魁祸首似乎是 apt-cache,因为它使用了 100% 的 CPU 核心并运行了超过 58 分钟。Steam 当时也使用了整个核心,但我预计 Valve 会这样。我没想到 apt-cache 会运行策略命令一个小时,所以我认为有某种原因导致它挂起,直到整个系统锁定。但是,当我运行相同的命令时,它可以正常运行并退出,并且只有在自动运行时才会在这种随机情况下像这样挂起。如果能帮助我进行调查,我将不胜感激,因为如果没有必要,我宁愿不重新格式化并重新设置所有内容。
答案1
您可以尝试使用类似 的命令或 来查看 apt-cache 的进程树pstree -p
。ps auxf
然后尝试找出 apt-cache 为何运行并告诉它不要运行,或者重新配置它,或者升级它...(您也可以将其关闭,而不是让它占用 CPU 一个小时)。
找到正确的 PID 可以使用pgrep
,以及 pstree 的一些选项来显示父级、(p)id、(a)参数、VT100(l)line 字符:
pstree PID -s -p -a -G -l
来源:https://superuser.com/questions/1204006/how-to-find-ancestor-chain-of-a-process/1204263#1204263