싱가포르, 일본, 한국, 홍콩, 미국 동부·서부의 전용 원격 Mac에서 Flutter 또는 React Native로 iOS와 Android를 함께 돌릴 때 한쪽만 안정적인데 양쪽을 같이 돌리면 불안정해지면, 원인은 대개 통합 메모리·SSD 쓰기·Gradle Daemon 정책이 리스 원장과 함께 설계되지 않았기 때문입니다. 통증 목록·병렬 상한표·6단계 런북·지표·리스 판단을 제시하고 Runner·하이브리드 CI·Simulator·DerivedData·근접·egress 문서와 연결합니다.
Signal 9나 Gradle 변환 중단으로 먼저 드러납니다.DerivedData·SwiftPM 캐시와 SSD 예산을 나눕니다..gradle, .pub-cache, node_modules 미분리는 감사·재현성을 깨뜨립니다.Simulator·DerivedData, Runner, 하이브리드 CI와 병독하되 본문은 Android·Apple 툴체인 충돌에 초점을 둡니다.
페이지 압·swap, SSD 여유·디렉터리 증가, 크로스리전 패치 egress를 별도 예산으로 보고, 짧은 리스 안에서 빨간선이면 병렬을 줄이고 Daemon을 멈추는 것이 GHz 증설보다 앞입니다.
| 시나리오 | M4(16GB 예) | M4 Pro | 레드라인 |
|---|---|---|---|
| CLI만 | Gradle workers 2, Xcode 단일 scheme 직렬 | workers 3–4 | swap 연속 증가, 여유 <10GB |
| Flutter integration + iOS Simulator | Android 유닛 후 iOS UI, Daemon 풀오픈 금지 | flutter drive 상한 하에서만 교차 | Metal+Java로 SSH 정지 |
| RN release + iOS archive | 타임박스, archive 전 ./gradlew --stop | GRADLE_USER_HOME·DerivedData 분리 | codesign·zipalign 동시 I/O 실패 |
원리: 동거는 “코어가 남으면 병렬”이 아니라 통합 메모리·SSD 쓰기가 먼저 한계입니다.
GRADLE_USER_HOME·PUB_CACHE를 데이터 볼륨으로 분리하고 DerivedData 재현성과 맞춥니다.android/.cxx 삭제 → DerivedData 로테이션 → Git 순을 스크립트화합니다../gradlew --stop || true export GRADLE_USER_HOME="$WORK_ROOT/.gradle-isolation" export ANDROID_SDK_ROOT="$WORK_ROOT/android-sdk" defaults write com.apple.dt.Xcode IDECustomDerivedDataLocation -string "$WORK_ROOT/DerivedData" export FLUTTER_ANALYZER_CONCURRENCY=2 export ORG_GRADLE_PROJECT_org.gradle.workers.max=2
Linux 분리는 RAM을 나누지만 키·큐가 이중화됩니다. 로컬 이중은 감사 불가 드리프트를 부릅니다.
싱가포르·일본·한국·홍콩·미 동서부에서 Git/Registry를 리전에 맞추고 DerivedData·.gradle 수위를 스크립트화하려면 MACCOME Mac 클라우드가 M4/M4 Pro 전용 노드와 일·주·월·계절 리스로 피크 메모리·디스크를 먼저 누르기 쉽습니다.
툴체인 표, 동거/분리 매트릭스, 정리·리스 매핑입니다. Monorepo FinOps와는 Git 객체 예산과 캐시 예산의 경계를 명시하세요.
Android가 Mac에 오지 않으면 Runner 글로 돌아갑니다. egress 런북이 있으면 NDK·Engine 캐시를 같은 대장에 넣으세요.
자주 묻는 질문
동시 상주 시 Gradle Daemon 을 꼭 끄나요?
항상 비활성일 필요는 없지만 파이프라인·셸 종료 시 ./gradlew --stop 또는 유휴 회수를 강제하세요. 단기 리스에서 특히 중요합니다. 대여 가격을 참고하세요.
언제 두 대로 나누나요?
직렬화 후에도 이주간 회고에서 계속 빨간선이면, 또는 Android 서명과 iOS 인증서를 규정상 분리해야 할 때입니다. 고객 센터를 보세요.