正常情况下,无论是在电脑浏览器还是手机伴侣软件中,Home Assistant 前端都拥有较快的打开速度。但不正确的设置或使用习惯可能会给 Home Assistant 背上沉重的包袱,不仅导致主页加载缓慢,甚至出现 CPU 占用率飙升等异常。这类问题不会随版本更新而自动解决,需要主动进行排查与干预。
故障现象
- 打开 Home Assistant 前端需要数秒甚至更长时间;
- 按F12打开开发者工具,在“网页”标签页中发现等待 WebSocket 的时间明显过长;
- 前端打开时,服务器上 Home Assistant 进程的 CPU 占用率显著升高;
- 容器日志中出现报错:“Client unable to keep up with pending messages. Reached 4096 pending messages. The system’s load is too high or an integration is misbehaving”
- 前端登录前的页面未出现加载缓慢问题。
故障定位
通过 Docker 容器的日志页面,确认报错信息 Client unable to keep up with pending messages...。同时注意到 “Last message” 中提到了两类 device_tracker。
经过仔细核查,发现其中一个设备追踪器是已经不再受支持的 Bluetooth Tracker,另一个则是未关闭自动发现功能的 iBeacon Tracker。这两个追踪器总共为 Home Assistant 实例增加了 数千个实体,这正是导致前端卡顿的根本原因。
故障解决
- 关闭自动发现
首先,将上述追踪器的“自动发现新设备”功能关闭,避免它们在未来继续扫描出大量无用实体,持续阻塞实例运行。 - 删除不需要的追踪器
接着,删除确认不再使用的追踪器实体。
如果遇到数千个追踪器导致前端几乎卡死、无法正常删除的情况,可以先将该追踪器栏目折叠,然后对相关设备进行删除操作。删除完成后,再重新添加需要继续使用的追踪器实体即可。
关闭不必要的自动发现、定期清理无用实体,是防止Home Assistant卡顿的最有效习惯。
心情表态
+1
+1
+1
+1
+1
+1

近期评论