我靠 hass竟然两天写了25G!!
幸亏是放在了tf上,要不emmc要冒烟了!!
赶紧:
既然你**完全不需要历史记录**,那就好办太多了!不用费心思去挑哪个设备排除了,直接**物理切断它向 eMMC 写入数据库**。
请按以下三步操作,1 分钟彻底解决,eMMC 写入量将直接趋近于 0,还能顺便省下 1.6G 空间。
---
### 第一步:修改配置,让数据库“跑在内存里”(完全不写硬盘)
Home Assistant 的很多底层功能(即使不用图表)依然依赖
最完美优雅的解法:直接把数据库重定向到 Linux 自带的内存临时目录 `/dev/shm`。
打开你的 `configuration.yaml`,把 `recorder:` 改成下面这样:
> 原理说明:
>
---
### 第二步:干掉那 1.6G 的历史垃圾文件
此时你的 eMMC 上还趴着那 1.6G 的旧数据库和日志缓存,需要删掉它释放空间:
1. **先停止 HA 容器**:
```bash
docker stop homeassistant
```
2. **进入你的 HA 映射在宿主机的配置目录**(即放
```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
```
---
### 第三步:启动容器
---
### 验证效果
启动之后,再次使用:
观察 `BLOCK I/O`,你会发现后半部分的写入量(xxxMB / **xxxMB**)基本定格不动了,CPU 占用通常也会从 12% 降到 2% 左右。你的 eMMC 可以彻底安心养老了!
幸亏是放在了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 可以彻底安心养老了!