![Win 7 Home Premium、Firefox 和 sqlite 一段时间后因处理 HDD 或 SSD 而导致系统停滞。该怎么办?NT 内核和系统 CPU 使用率高达 25/26%](https://linux22.com/image/1479171/Win%207%20Home%20Premium%E3%80%81Firefox%20%E5%92%8C%20sqlite%20%E4%B8%80%E6%AE%B5%E6%97%B6%E9%97%B4%E5%90%8E%E5%9B%A0%E5%A4%84%E7%90%86%20HDD%20%E6%88%96%20SSD%20%E8%80%8C%E5%AF%BC%E8%87%B4%E7%B3%BB%E7%BB%9F%E5%81%9C%E6%BB%9E%E3%80%82%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9FNT%20%E5%86%85%E6%A0%B8%E5%92%8C%E7%B3%BB%E7%BB%9F%20CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E9%AB%98%E8%BE%BE%2025%2F26%25.png)
为避免这种情况误导您,答案简而言之:
已知的错误有三个:在 sqlite 中,和/或 Firefox 对 sqlite 的处理中,以及在操作系统 Win 7 中。(Win 7 不应该允许程序拖延整个系统。)删除 Firefox 用户的配置文件夹中有缺陷的巨大的“places.sqlite-wal”可以解决这个问题。
我的笔记本系统是:Win 7 Home Premium 64位。笔记本里有一个经典硬盘和一个SSD。SSD是启动盘。Intel处理器,双核,每核两个线程。(总共4个线程。)
现在是启动后几秒钟,但通常是 5 到 20 分钟后我的系统就会停滞。
当系统停滞时,任务管理器(如果仍可访问)会显示“NT 内核和系统”(始终为 PID 4)的 CPU 使用率上升到 25% 和 26%。停滞开始时,我正在使用的程序窗口部分响应,有时完全不响应,有时单击窗口时,它会被白色半透明覆盖。
有时其他程序窗口仍可完全访问。有时 ctrl+alt+del 会将我带到 win 用户 logof/change/等页面,但尽管有时可以单击 - 但无论我选择什么,它都不起作用,如果有的话,它会将我带回到桌面和程序窗口。
停滞开始后,需要几秒到两分钟的时间,然后系统将无法再访问任何内容。
只需按住开/关按钮七秒钟即可关闭笔记本电脑并停止电源。
我已经尝试过进程浏览器,将进程优先级设置为最高。但是一旦出现停滞,我就无法再从那里保存任何东西了。(我可以用进程浏览器制作连续保存的日志吗?)我也尝试过 WhySoSlow 测试版,但效果几乎相同。到目前为止,我还没有尝试用 WhySoSlow 记录所有内容(进程),因为我对完整稳定运行的日志有不好的体验。(但如果有必要,我会记录所有内容。)
我的问题:我现在应该尝试什么?
我真的没有主意了,因为即使是最高进程优先级的进程资源管理器也会停滞。
我猜想是 Win 7 系统出现了故障(或更改了设置),因此当 HDD 进入睡眠状态或再次被唤醒时,它会停止运行。我无限循环地从 HDD 播放音乐,几个小时都没有停止运行。但是,当我写到我已经在这里写好的长文的第一个版本的最后一句时,它又停止运行了。):也许整个 mp4 音乐文件都进入了缓存,所以 Win 7 再次尝试让 HDD 进入睡眠状态?(或者稍后将其唤醒。)
系统至少运行了 6 个多月。(实际上,我相信两年前我就把 SSD 装进了电脑。)
2015 年 12 月 28 日左右,当我需要写一封较长的信件时,系统开始卡顿。除了其他方法,我还尝试了其他方法:用另一块硬盘替换了传统硬盘。然后将两块硬盘(新硬盘和 SSD)放入另一台技术上相同的笔记本电脑中。那里也出现了卡顿。
所以我已经缩小了原因范围:1. 要么是 SSD。要么 2. 我的 Windows 7 出现了一些以前没有的问题。(我不能排除我更改了一些能源设置,以使笔记本电脑更安静,例如让 HDD 更快地进入睡眠状态。)
我现在尝试无限循环运行 mp4 文件(位于 HDD 上),系统现在已经运行了几个小时!
因此我认为这与 Win 7 处理 HDD 或 SSD 的方式有关。
---哦不!就在我写最后一句话的时候,系统又在下班后停滞了。):我改变了问题的措辞,现在一般性地询问。
请帮忙!
(PS:我目前的互联网连接速度是 64 kib/秒。)
笔记本是:
MEDION P7624、Microsoft Windows 7 x64 Home Premium、Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz、4.0 GiB 可扩展至 32.0 GiB
答案1
解决方案:
mozilla-bug 网站上已经报告过 3 年多此类事件了。
Firefox 在访问 Firefox 用户配置文件目录中的“places.sqlite-wal”文件过于频繁或数据量过大时,会导致系统停滞。与此相关或导致该文件变得非常大。我的“places.sqlite-wal”超过 1.8 GB。
删除过大的“places.sqlite-wal”文件后不再出现停顿。
[ 您可以在 about:config 中增加 sessionstore-time,但我不知道我在某处读到的这个建议是否真的是解决方案。至少我不明白为什么有必要将每 15 秒存储一次会话设为默认值(值 15000 毫秒)。]
我在互联网上找到了在 Win 7 Home Premium 上运行 Firefox 的示例,并使用 SSD 或传统 HDD。我发现报告的最大文件大小为 6.5 GByte。
我将其归类为三个严重的错误:
- Firefox 似乎将据称已删除的信息保存在“places.sqlite-wal”文件中,因为 sqlite 本身或 Firefox 对其的处理似乎存在问题。重大安全和隐私漏洞!
- Win 7 绝对可以阻止 Firefox 长时间使整个系统 100% 不负责任。我发现有些情况从 90 秒到 10 分钟后系统仍无响应。
- sqlite 网站本身会报告在过于频繁或过多地写入或写入太大的 wal 文件时发生的错误。
我甚至更进一步说,Firefox 转而使用 sqlite 数据库的做法很可疑,它对与此 sqlite 相关的错误的处理也很可疑:Mozilla 员工对这个问题的评论毫无帮助,至少可以这么说。这个问题很少出现。
就我而言,只能偶然找到原因,因为我尝试过的所有进程监控程序都无法记录正在发生的事情 - 即使将线程优先级设置为最大值的 Process Explorer 也不再响应。(由于我的互联网连接速度很慢,只有 64 kbit/秒,我无法下载 Microsoft 的 XPerf 套件。)人们最终只会重新安装 Firefox 甚至操作系统,而不是报告错误。
我读完这些内容后得出的结论是,sqlite 的使用允许监视用户。
当我独立地撰写有关大文件大小的文章时,其他人告诉我,位置文件是计算机取证中最有用的文件。
PS 我是如何找到它的?偶然发现的。作为最后的手段,我正准备将我的启动分区克隆到另一个硬盘上。由于另一个硬盘上只有大约 35 GB,所以我尝试从启动分区中删除大文件。有了 SSD,在 Windows 资源管理器中搜索整个 c 分区以查找最大的文件是相当安全的,而“places.sqlite-wal”是最大的文件。(我已经删除了 win7 和 x-systems 的安装文件和 3 部电影。)“places.sqlite-wal”是当时最大的文件。删除它之后,再也没有出现过停滞的情况。
我所做的其他事情都浪费了时间。
一些链接: https://bugzilla.mozilla.org/show_bug.cgi?id=871908 并且明确指出了文件系统问题http://www.sqlite.org/draft/wal.html