GET /api/debug/heap/
Стан динамічної пам’яті FreeRTOS і lwIP.
Авторизація: токен Bearer (powerUser).
Відповідь 200
Section titled “Відповідь 200”{ "rtos": { "totalBytes": 30720, "freeBytes": 18240, "minEverFreeBytes": 12800, "largestFreeBlockBytes": 14336, "smallestFreeBlockBytes": 16, "freeBlockCount": 7, "allocCount": 1234, "freeCount": 1200 }, "lwip": { "totalBytes": 51200, "freeBytes": 38400, "minEverFreeBytes": 28000 }}Поля відповіді
Section titled “Поля відповіді”| Поле | Тип | Опис |
|---|---|---|
rtos.totalBytes | число | Загальний розмір динамічної пам’яті FreeRTOS (configTOTAL_HEAP_SIZE) |
rtos.freeBytes | число | Поточний обсяг вільного простору (сума всіх вільних блоків) |
rtos.minEverFreeBytes | число | Мінімальний обсяг вільного простору за весь час роботи (мінімальна позначка) |
rtos.largestFreeBlockBytes | число | Розмір найбільшого вільного блока (показник фрагментації) |
rtos.smallestFreeBlockBytes | число | Розмір найменшого вільного блока |
rtos.freeBlockCount | число | Кількість вільних блоків |
rtos.allocCount | число | Кількість успішних викликів pvPortMalloc після запуску |
rtos.freeCount | число | Кількість успішних викликів vPortFree після запуску |
lwip.totalBytes | число | Загальний розмір динамічної пам’яті lwIP |
lwip.freeBytes | число | Поточний обсяг вільного простору в динамічній пам’яті lwIP |
lwip.minEverFreeBytes | число | Мінімальний обсяг вільного простору в динамічній пам’яті lwIP за весь час роботи |
Коли
freeBytes > 0, показник фрагментації динамічної пам’яті FreeRTOS дорівнює1 - largestFreeBlockBytes / freeBytes. ЯкщоlargestFreeBlockBytesзначно менше заfreeBytes, виділення великого блока може завершитися невдало попри достатній загальний обсяг вільної пам’яті. КолиfreeBytes == 0, вебінтерфейс показує0%без обчислення за цією формулою.