我靠 hass竟然两天写了25G!!

幸亏是放在了tf上,要不emmc要冒烟了!!

赶紧:


既然你**完全不需要历史记录**,那就好办太多了!不用费心思去挑哪个设备排除了,直接**物理切断它向 eMMC 写入数据库**。

请按以下三步操作,1 分钟彻底解决,eMMC 写入量将直接趋近于 0,还能顺便省下 1.6G 空间。

---

### 第一步:修改配置,让数据库“跑在内存里”(完全不写硬盘)

Home Assistant 的很多底层功能(即使不用图表)依然依赖 recorder 组件运行,直接强行删掉组件可能会导致某些插件报错。

最完美优雅的解法:直接把数据库重定向到 Linux 自带的内存临时目录 `/dev/shm`。

打开你的 `configuration.yaml`,把 `recorder:` 改成下面这样:

recorder:
  # 把数据库扔进内存,所有操作只在内存发生,0 硬盘写入!
  db_url: "sqlite:////dev/shm/home-assistant_v2.db"
  purge_keep_days: 1
  commit_interval: 60
  # 谁都不记录(双重保险,避免占用内存)
  include:
    entities: []


> 原理说明:
> /dev/shm 是 Linux 系统自带的**纯内存盘(tmpfs)**。把数据库指定在这里,HA 所有的读写、打日志全是直接在你的 4G 内存里转圈,**哪怕 1 个字节都不会写进 eMMC 闪存**。设备重启后它自动消失重来,你的设备控制、自动化、场景、接入配置完全不受任何影响。

---

### 第二步:干掉那 1.6G 的历史垃圾文件

此时你的 eMMC 上还趴着那 1.6G 的旧数据库和日志缓存,需要删掉它释放空间:

1. **先停止 HA 容器**:
```bash
docker stop homeassistant
```
2. **进入你的 HA 映射在宿主机的配置目录**(即放 configuration.yaml 的那个目录):
```bash
# 查看一下是不是这几个大文件
ls -lh home-assistant_v2.db*

# 果断删掉它们(释放 1.6G 空间)
rm -f home-assistant_v2.db
rm -f home-assistant_v2.db-wal
rm -f home-assistant_v2.db-shm
```
3. **顺便看一眼日志文件**(如果很大也顺手清了):
```bash
rm -f home-assistant.log
```

---

### 第三步:启动容器

docker start homeassistant


---

### 验证效果

启动之后,再次使用:
docker stats homeassistant

观察 `BLOCK I/O`,你会发现后半部分的写入量(xxxMB / **xxxMB**)基本定格不动了,CPU 占用通常也会从 12% 降到 2% 左右。你的 eMMC 可以彻底安心养老了!