操作系统:Ubuntu 16.04
硬盘:三星 SSD 750 EVO 250GB
我是一名 Web 开发人员。我的台式机(使用了 2 年)全天候运行。我注意到 SMART 统计数据中“总 LBA 写入”的数字很大。我试图找出原因,但找不到。
感兴趣的 smartctl 统计数据:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
9 Power_On_Hours 0x0032 096 096 000 Old_age Always - 16380
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 66776620226 (31842 GB)
结果我得到:31842 GB/16380 小时 =1.94 GB/小时或者46.65 GB/天。我认为对于我的情况来说这个数字非常大。我没有任何软件可以每天写入如此大量的数据。
我试着跑iotop以累积模式(TOP-10 排序磁盘写入约 2 天):
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE> SWAPIN IO COMMAND
191 be/3 root 0.00 B 3.90 G 0.00 % 7.92 % [jbd2/sda1-8]
8648 be/4 kondrush 52.14 M 3.00 G 0.00 % 0.14 % mysql-workbench-bin
1308 be/4 mysql 4.00 K 1159.27 M 0.00 % 0.00 % mysqld
5077 be/4 kondrush 21.22 M 920.98 M 0.00 % 0.02 % chrome [LevelDBEnv.IDB]
4715 be/4 kondrush 2.52 M 286.57 M 0.00 % 0.00 % chrome [Chrome_SyncThre]
2119 be/4 kondrush 384.00 K 261.57 M 0.00 % 0.00 % gnome-keyring-daemon --daemonize --login
1163 be/4 root 9.76 M 182.50 M 0.00 % 0.00 % python /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
4421 be/4 kondrush 36.00 M 99.48 M 0.00 % 0.00 % chrome [Chrome_HistoryT]
26121 be/4 kondrush 180.00 K 94.10 M 0.00 % 0.03 % chrome [TaskSchedulerFo]
8779 be/4 kondrush 17.47 M 67.33 M 0.00 % 0.00 %
所以使用iotop-数据写入了大约 10GB+。但比较“写入的 LBA 总数”列智能控制这两天我发现它被写入了~51GB。
主要问题:
我如何识别哪个软件写入了这么多的 LBA 以及原因智能控制-counts 不同iotop-计数
答案1
回答我的问题。我找到了作者。他是 MySQL Workbench。
我如何找到它:
- 用于
System Monitor
查看哪个进程执行了最大的写入操作(列Disk write total
) - 用于
ptrace
追踪过程MySQL Workbench
以了解其作用
我注意到每 9-10 秒它写入了一些数据的一部分。然后我明白了它是自动保存功能并且它里面有一个错误。
仅供参考。我在 Workbench 中打开了很多选项卡,它保存了所有打开的选项卡无需分析,上次自动保存后是否编辑过.结果我描述了错误https://bugs.mysql.com/bug.php?id=95855并且它已获得批准,但 3 年来我一直不知道它是否得到解决。
PS我希望这些信息对某些人有帮助