From 1b1c968826285e9dc2fb43a394149c21f471e118 Mon Sep 17 00:00:00 2001 From: kaffa Date: Sat, 2 May 2026 08:06:22 +0900 Subject: [PATCH] =?UTF-8?q?infra/network/beryl-ax:=20zram=20swap=20(zstd)?= =?UTF-8?q?=20=EC=84=B9=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 휴대용 라우터의 빠듯한 RAM(491MB, swap 없음) 대비 CPU가 95% idle인 환경적 특성에 맞춰 zram 압축 swap을 도입. lzo 기본을 zstd로 전환해 압축률 ~1.5배 향상. 설치/검증/UCI 영구화 절차 정리. --- infra/network/beryl-ax.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/infra/network/beryl-ax.md b/infra/network/beryl-ax.md index 787675a..e7b0fd0 100644 --- a/infra/network/beryl-ax.md +++ b/infra/network/beryl-ax.md @@ -1,6 +1,6 @@ --- title: Beryl AX (GL-MT3000) 휴대용 라우터 -updated: 2026-05-01 +updated: 2026-05-02 tags: [openwrt, glinet, tailscale, router, portable] --- @@ -89,6 +89,37 @@ sudo networksetup -setsearchdomains Wi-Fi otter-buri.ts.net 이 설정은 macOS 차원에서 고정되어 다른 Wi-Fi에 옮겨도 유지된다(다른 네트워크의 DHCP search domain은 무시됨). +## 메모리 / zram swap + +총 RAM 491MB(스펙 512MB - firmware reserve)에 swap 없는 환경. tailscaled + nginx + GL.iNet UI/cloud agent + dnsmasq 등으로 base 약 285MB 점유, 휴대용 라우터 치고 빠듯. CPU는 Cortex-A53 2-core인데 평소 95% idle이라 자원이 남으므로 zram(압축 RAM swap)으로 실효 가용 메모리를 늘리는 게 합리적. + +**설치**: +```sh +opkg install kmod-zram zram-swap +/etc/init.d/zram enable +/etc/init.d/zram start +``` + +기본 동작: RAM의 약 50%(여기선 ~239MB)를 zram swap으로 잡음. UCI `system.@system[0].zram_size_mb`로 수동 지정 가능, 미설정 시 init script가 `MemTotal/2048` MB로 자동 계산. + +**압축 알고리즘 zstd로 전환** (lzo 대비 압축률 ~1.5배, CPU 약간 더 사용 — 95% idle이라 무난): +```sh +uci set system.@system[0].zram_comp_algo='zstd' +uci commit system +/etc/init.d/zram restart +``` + +지원 알고리즘: `lzo`, `lzo-rle`, `lz4`, `zstd`. 활성 알고리즘은 `cat /sys/block/zram0/comp_algorithm`에서 대괄호로 표시됨 (`[zstd]`). + +**검증**: +```sh +cat /proc/swaps # /dev/zram0 244MB +free -m # Swap 244732 +cat /sys/block/zram0/comp_algorithm +``` + +USB/microSD 기반 swap은 eMMC 쓰기 수명과 latency 문제로 비추천 — zram이 디스크 쓰기 없이 RAM만 활용하므로 임베디드 라우터에 적합. + ## 운영 주의 - **Beryl LAN을 벗어나면 ts.net 풀이가 timeout** (Mac이 192.168.8.1을 못 찾음). 외부 네트워크에선 Mac Tailscale을 다시 켜야 한다 — `/etc/resolver/ts.net`은 라우터 도달 가능성을 전제로 함