perf(memory): reduce internal RAM pressure across network services

- allocate remote log queues and upload buffers from PSRAM
- move mbedTLS and NimBLE dynamic allocations to external memory
- right-size Wi-Fi state, task monitor, and audio worker stacks
- limit retained remote log files to 12
This commit is contained in:
chenjintao
2026-08-14 10:08:54 +08:00
parent 841fe32c49
commit c56c65462e
3 changed files with 80 additions and 17 deletions
+9 -6
View File
@@ -12,6 +12,9 @@ CONFIG_BT_NIMBLE_ROLE_OBSERVER=n
CONFIG_BT_NIMBLE_ROLE_BROADCASTER=y
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1
CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=6144
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL=y
# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL is not set
# CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT is not set
CONFIG_TQ_MINI_PROGRAM_PROVISIONING_ENABLE=y
CONFIG_TQ_MINI_PROGRAM_PROVISIONING_CONNECT_TIMEOUT_MS=30000
CONFIG_TQ_MINI_PROGRAM_PROVISIONING_RECONNECT_FAILURES=2
@@ -56,7 +59,7 @@ CONFIG_TQ_REMOTE_LOG_ENTRY_MAX_BYTES=256
CONFIG_TQ_REMOTE_LOG_BATCH_MAX_ENTRIES=30
CONFIG_TQ_REMOTE_LOG_FLUSH_INTERVAL_MS=5000
CONFIG_TQ_REMOTE_LOG_UPLOAD_TIMEOUT_MS=8000
CONFIG_TQ_REMOTE_LOG_MAX_FILES=24
CONFIG_TQ_REMOTE_LOG_MAX_FILES=12
CONFIG_TQ_REMOTE_LOG_FILE_MAX_BYTES=16384
CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y
# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
@@ -186,14 +189,14 @@ CONFIG_MULTIMODAL_AUDIO_I2S_WS_GPIO=41
CONFIG_MULTIMODAL_AUDIO_I2S_DOUT_GPIO=40
CONFIG_MULTIMODAL_AUDIO_I2S_DIN_GPIO=42
CONFIG_MULTIMODAL_AUDIO_UPLINK_TASK_STACK=32768
CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_TASK_STACK=12288
CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_TASK_STACK=8192
CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_QUEUE_LEN=24
CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_TIMEOUT_MS=5
CONFIG_MULTIMODAL_AUDIO_CODEC_CHANNELS=2
CONFIG_MULTIMODAL_AUDIO_AEC_REFERENCE_CHANNEL=1
CONFIG_MULTIMODAL_AUDIO_AEC_FILTER_LENGTH=4
CONFIG_MULTIMODAL_AUDIO_UPLINK_MAX_PACKET_BYTES=1024
CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_TASK_STACK=12288
CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_TASK_STACK=10240
# CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_DIAGNOSTICS_ENABLE is not set
CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_ACTIVE_STALL_MUTE_MS=3000
CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PREBUFFER_MS=160
@@ -232,10 +235,10 @@ CONFIG_MULTIMODAL_RECONNECT_DELAY_MS=2000
CONFIG_ESP_WS_CLIENT_SEPARATE_TX_LOCK=y
CONFIG_ESP_WS_CLIENT_TX_LOCK_TIMEOUT_MS=2000
# mbedTLS certificate parsing and dynamic record buffers otherwise compete for
# internal DRAM with LCD/audio/network startup. Use the default allocator so
# ordinary TLS heap can spill to PSRAM when the internal heap is fragmented.
# internal DRAM with LCD/audio/network startup. Allocate TLS heap from PSRAM.
# CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC is not set
CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y
# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
# TLS renegotiation is not used by the device's HTTPS/WSS clients. With dynamic
# TLS buffers and concurrent WebSocket RX/TX, its write-side counter check can