随身wifi eMMC 寿命排查与零写盘(静默)配置手册

eMMC 寿命排查与零写盘(静默)配置手册

适用:UFI003 / 骁龙410 (MSM8916) / OpenStick Debian 11
已验证日期:2026-09-04(实测 eMMC:SK Hynix EH8EA4 8GB,life_time 0x08)


刷了一个 高通410 随身wifi ,但是一排查吓一跳,只有 20% 的寿命,所以还是要保护下,后面用 SD 卡作为外挂的日志盘,这里记录下如何看寿命以及如何稳住尽量不写 EMMC

第一部分:eMMC 剩余寿命排查

1.1 读取寿命计数器(一条命令)

cat /sys/block/mmcblk0/device/life_time     # 例: 0x08 0x08
cat /sys/block/mmcblk0/device/pre_eol_info  # 例: 0x01
  • life_time:两个值分别对应两个区域(typ_a / typ_b,可理解为主要区和用户区;本机两个都是 0x08)
  • pre_eol_info:寿命预警(0x01=正常 0x02=警告 0x03=严重,一般 0x01 不必恐慌)

1.2 计数器含义(JEDEC JESD84-B51 规范)

它统计的是"已消耗寿命百分比",本质是 NAND 擦写(P/E)次数的函数,与运行时间无关——只读不写,放十年也是 0x01;高频写,几周就能 0x0A。

值 已使用 剩余估算
0x01 0~10% 90%+
0x03 20~30% 70%+
0x05 40~50% ~50%
0x08 70~80% 20~30%
0x0A 90~100% 快耗尽
0x0B >100% 标称寿命已尽

这是控制器估算值,不是精确寿命;实际还能用多久取决于后续写入强度。

1.3 颗粒身份识别(厂商/型号/生产日期)

for f in manfid name date cid fwrev hwrev; do
  echo "$f: $(cat /sys/block/mmcblk0/device/$f 2>/dev/null)"
done
cat /sys/block/mmcblk0/size   # 扇区数,×512 = 字节

常见 eMMC 厂商 ID(manfid):0x70=SK Hynix(海力士),0x11=Toshiba(铠侠),0x15=Samsung(三星),0x03=SanDisk,0x45=SanDisk(旧),0x1b=Micron(美光)。

本机实测:0x70 + EH8EA4 + 09/2016 → SK Hynix EH8EA4,2016年9月产,8GB。

1.4 RAM 颗粒(参考)

  • 软件层面只能看到容量:free -m / head -5 /proc/meminfo(本机 MemTotal 382MB = 标称 512MB,约 130MB 被内核/硬件保留)
  • 具体 RAM 颗粒厂家/型号软件查不到(DDR 信息在 bootloader/RPM),只能拆机看丝印(如 K3QF2F20DB=三星、H9TP32A4GDM=海力士)

1.5 长期监控方法(确认写入是否影响寿命)

# 建立基线
date && cat /sys/block/mmcblk0/device/life_time

# 定期(每月)重复一次,对比 life_time 是否变化
# 如果长期 0KB 写入但仍增长 → 有隐藏写源,用下节方法排查

写入源排查工具:

# 1. 实时看哪些文件在被写(需要先安装: apt install -y iotop 或 strace)
iotop -o -k            # 进程级写 IO(需 root;无 iotop 则用:  watch -n1 'df -k /' )
# 2. 看根分区使用量单位时间变化
a1=$(df -k / | tail -1 | awk '{print $3}'); sleep 60; a2=$(df -k / | tail -1 | awk '{print $3}'); echo "60秒写入: $((a2-a1)) KB"
# 3. 检查大文件
find /var /root /home -xdev -size +1M -mmin -10080 -type f 2>/dev/null | head

第二部分:零写盘(静默)配置

目标:让 eMMC 日常写入趋近于零,把剩余寿命当作"无限"用。

2.1 systemd journal 纯内存化(覆盖所有系统/服务日志)

mkdir -p /etc/systemd/journald.conf.d
cat > /etc/systemd/journald.conf.d/99-mem-only.conf <<'EOF'
[Journal]
Storage=volatile
SystemMaxUse=20M
RuntimeMaxUse=10M
ForwardToSyslog=no
EOF
systemctl restart systemd-journald

# 清掉历史落盘数据(一次性)
systemctl stop systemd-journald
rm -rf /var/log/journal
systemctl start systemd-journald
# 验证: journalctl --disk-usage 应显示 0 / /var/log/journal 不存在

Storage=volatile:journal 只存在 /run(内存盘),重启即清空。SSH 登录、服务崩溃等日志仍在(内存里可看),只是不落盘。

2.2 frpc 日志改 stdout(不再写文件)

sed -i 's|log.to = "/var/log/frp/frpc.log"|log.to = "console"|' /etc/frp/frpc.toml
rm -f /var/log/frp/frpc.log
systemctl restart frpc        # ⚠️ 见下文"远程运维铁律"——这会断开 frp 隧道

2.3 sshd 日志降至最低

printf 'LogLevel QUIET\n' > /etc/ssh/sshd_config.d/99-quiet.conf
systemctl restart ssh         # ⚠️ 远程操作会踢掉当前会话

2.4 其他写源收口(可选)

# swap 已是 zram(内存压缩交换,不写盘)——本机已配
# /tmp 确保是内存盘(Debian 默认 tmpfs;若被改回磁盘可加回)
grep tmpfs /etc/fstab
# apt 下载缓存定期清理(apt 自身会做,也可手动)
apt-get clean

# 进阶大招:rootfs 只读 + overlayfs(写入全部落内存,重启还原)
#   适合"配置好就不再改"的服务器型用法;改动系统需先 remount rw。
#   步骤略(涉及 initramfs 改造),需要时单独出手册。

2.5 验证命令

df -k /                                                        # 记录基线
a1=$(df -k / | tail -1 | awk '{print $3}'); sleep 10; a2=$(df -k / | tail -1 | awk '{print $3}'); echo "10秒写入: $((a2-a1)) KB"
journalctl --disk-usage                                       # 应为 0 或极小(内存)
cat /sys/block/mmcblk0/device/life_time                        # 记录基线,每月对比

本机实测结果:空闲状态下 10 秒写入 0 KB、journal 落盘 0、frpc/sshd 无文件日志。


第三部分:远程运维铁律(血泪教训)

远程(SSH/frp)操作这台设备时,以下操作会打断当前会话:

操作 后果 正确姿势
systemctl restart frpc frp 隧道断 → 当前 SSH 会话立刻死 放最后一步执行;或用 USB/adb、或先配好再重启
systemctl restart ssh ssh 服务重启 → 踢掉当前会话 同上;改完用 ssh 重连验证
改 sshd_config 后重启 同上 先用 sshd -t 校验,再重启

通用规则:

  1. 改 frpc/sshd 这类"通信基础设施"时,USB 通道(adb)是最佳操作通道,断了也能修
  2. 必须远程改时:把 restart 放在命令串的最后一条;或改用 systemctl reload(HUP)
  3. 改完立即用新会话验证;验证不了就准备 adb 兜底(拔插 USB 即恢复 adb)

附:本机基线记录

设备: UFI003 (MSM8916, arm64)
eMMC: SK Hynix EH8EA4 8GB (2016-09), manfid=0x70, fwrev=0x01
life_time: 0x08 0x08 (已耗约70-80%, 剩余20-30%)
pre_eol_info: 0x01 (正常)
RAM: 512MB 标称 (MemTotal 382MB, MemAvailable ~300MB), LPDDR3
SSH: 密钥认证, 密码全关
frp: v0.71.0 frpc 自启, 公网 6022 → 设备 22
写盘: 空闲 10 秒 0 KB
posted @ 2026-09-04 08:21  口嗨养生博  阅读(59)  评论(0)    收藏  举报