Самоконтроль сервера
В Центральном пульте можно планировать выполнение проверки состояния памяти сервера (самоконтроль). В ходе этой проверки в указанный в конфигурации объект будут отправляться данные самоконтроля.
Самоконтроль настраивается при помощи следующих параметров серверной конфигурации:
-
server.self_object_id
— ID объекта, используемого для самоконтроля сервера, -
server.self_monitoring_period
— Период между процессами самоконтроля сервера.
Процесс самоконтроля возвращает следующие данные:
-
Информация об утечках памяти,
-
Общее состояние памяти.
После выполнения процесса самоконтроля данные сохраняются в объекте, ID которого указано в параметре server.self_object_id
. Также сервер сохраняет дамп памяти в следующий файл:
/tmp/saymon-rest-server-worker-<ID-объекта-самоконтроля>-<дата-и-время-дампа>.heapsnapshot
Если объект с ID, указанным в server.self_object_id не существует, то проверка не выполняется.
|
Результат самоконтроля имеет следующие поля:
Поле | Описание |
---|---|
entityType |
Числовой тип объекта системы, который использовался для процесса самоконтроля. |
entityId |
ID объекта системы, который использовался для процесса самоконтроля. |
period |
Период между запуском самоконтроля. |
timestamp |
Время запуска самоконтроля. |
payload |
Данные самоконтроля. |
payload.eventLoopLagMs |
Задержка работы основного потока сервера в миллисекундах. |
payload.memory |
Данные о памяти сервера. |
payload.memory.leak |
Есть ли утечка памяти на сервере? |
payload.memory.leakInfo |
Информация об утечке памяти. |
payload.memory.usage |
|
payload.memory.stats |
Использование памяти сервером
{
rss: 23851008,
heapTotal: 4907008,
heapUsed: 2905912,
external: 951886,
arrayBuffers: 17574
}
Статистики использования памяти
{
gcScavengeCount: 1,
gcScavengeTime: 1100880, // ns
gcMarkSweepCompactCount: 2,
gcMarkSweepCompactTime: 21157231, // ns
gcIncrementalMarkingCount: 0,
gcIncrementalMarkingTime: 0, //ns
gcProcessWeakCallbacksCount: 0,
gcProcessWeakCallbacksTime: 0, // ns
total_heap_size: 16097280, // bytes
total_heap_size_executable: 3670016, // bytes
total_physical_size: 10741880, // bytes
total_available_size: 1487689928, // bytes
used_heap_size: 5691584, // bytes
heap_size_limit: 1501560832, // bytes
malloced_memory: 8192,
peak_malloced_memory: 1185464,
gc_time: 4587251 // ns
}