Skip to content

Reduce native binary sizes for EdgeX core and app services (amd64/arm64) for legacy/low-spec industrial PCs #5253

@AshishAvesta

Description

@AshishAvesta

🚀 Summary / Problem Statement

We’re deploying EdgeX services as native binaries (not containers) on older Industrial PCs with limited disk and memory. The current binary sizes are relatively large, making rollout and updates challenging on constrained systems (slow disks, small storage). Examples from my builds:

 - core-command: ~20 MB
 - core-data: ~25 MB
 - core-keeper: ~25 MB
 - core-metadata: ~20 MB
 - app-service-configurable: ~40 MB

With 6–7 services, the total on-disk footprint reaches ~150–200 MB just for binaries (excluding configs/logs). I build for both amd64 and arm64, and the situation is similar across architectures.

Why this matters

Many industrial environments still run on legacy IPCs (old CPUs, small SSDs/eMMC). Native (non-container) deployments are common in such environments due to OS constraints and operational policy.

Environment

  • EdgeX version: 4.x (Odesa)
  • Build targets: linux/amd64 and linux/arm64 (also occasional armv7)

Current vs. expected

  • Current: per-service binaries ~20–40 MB; combined 150–200 MB.
  • Desired: any feasible reduction (even 25–50%) would materially improve deployability on constrained IPCs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions