在 Linux 上,我使用的是 Iceweasel 网络浏览器(实际上是 Firefox),在“编辑/首选项/常规/启动”中,当我在“主页”框中键入 URL 时,每次按下时硬盘灯都会亮起一个密钥(例如 www.google.com)。这看起来很奇怪(而且没有必要)。我尝试在“首选项”的其他框中输入文本,但光盘灯不亮。
你知道光盘灯为什么会亮吗,它是否表明正在发生一些偷偷摸摸和恶意的事情?
不,这可能不是恶意的。似乎 Iceweasel 在每次击键后都会写入其首选项文件。
同样的事情发生在这里。
有一种方法可以通过使用内核的块访问转储功能来准确确定发生了什么。以下所有操作均以 root 身份完成:
首先,您需要停止内核日志守护进程——否则,会有大量活动:将内核日志写入磁盘。在我的机器上,它是 rsyslog 的一部分,所以我这样做:
# /etc/init.d/rsyslog stop
[ ok ] Stopping enhanced syslogd: rsyslogd.
Run Code Online (Sandbox Code Playgroud)
现在,在另一个终端中,cat /proc/kmsg
. 这将吐出内核日志,而不会将它们写入磁盘。
最后,echo 1 > /proc/sys/vm/block_dump
打开块转储功能。您应该很快就能在cat
终端中看到输出,每次磁盘灯闪烁时至少显示一行。
如果有太多的行(这里有,因为一堆东西在运行)你可以grep
用来过滤它们。例如,您可以使用grep 'dirtied inode' /proc/kmsg
或grep iceweasel /proc/kmsg
然后继续并在首选项框中键入以查看磁盘活动。发现后,运行echo 0 > /proc/sys/vm/block_dump
以关闭块转储,并启动备份内核记录器(/etc/init.d/rsyslog start
此处)
这是我得到的:
<7>[618256.942332] iceweasel(4055): dirtied inode 563662 (prefs-1.js) on dm-3
<7>[618256.946971] iceweasel(4055): WRITE block 104158720 on dm-3 (280 sectors)
<7>[618256.946984] iceweasel(4055): WRITE block 1953005758 on sda3 (8 sectors)
<7>[618256.946988] iceweasel(4055): WRITE block 1953005758 on sdd3 (8 sectors)
<7>[618256.946991] iceweasel(4055): WRITE block 1953005758 on sdb3 (8 sectors)
<7>[618256.946994] iceweasel(4055): WRITE block 1953005758 on sdc3 (8 sectors)
<7>[618258.588306] iceweasel(4055): dirtied inode 563720 (prefs-1.js) on dm-3
<7>[618258.592806] iceweasel(4055): WRITE block 104081920 on dm-3 (280 sectors)
<7>[618258.621531] iceweasel(4055): WRITE block 1953005758 on sda3 (8 sectors)
<7>[618258.621536] iceweasel(4055): WRITE block 1953005758 on sdd3 (8 sectors)
<7>[618258.621539] iceweasel(4055): WRITE block 1953005758 on sdb3 (8 sectors)
<7>[618258.621541] iceweasel(4055): WRITE block 1953005758 on sdc3 (8 sectors)
?
Run Code Online (Sandbox Code Playgroud)
因此,发生的情况是每次您在该字段中键入时,Iceweasel 都会立即将其写入首选项文件。然后,在我的系统上,它通过 LVM(dm-3 的东西)成为对 4 个磁盘的物理写入(由于 mdraid)。
归档时间: |
|
查看次数: |
390 次 |
最近记录: |