Перейти до вмісту

GET /api/debug/heap/

Стан динамічної пам’яті FreeRTOS і lwIP.

Авторизація: токен Bearer (powerUser).


{
"rtos": {
"totalBytes": 30720,
"freeBytes": 18240,
"minEverFreeBytes": 12800,
"largestFreeBlockBytes": 14336,
"smallestFreeBlockBytes": 16,
"freeBlockCount": 7,
"allocCount": 1234,
"freeCount": 1200
},
"lwip": {
"totalBytes": 51200,
"freeBytes": 38400,
"minEverFreeBytes": 28000
}
}
ПолеТипОпис
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% без обчислення за цією формулою.