Измерение NodeJS использования памяти для одного процесса - PullRequest
1 голос
/ 05 августа 2020

Я хотел бы видеть объем памяти, используемый одним процессом. У нас есть несколько библиотек-кандидатов для использования в нашем приложении, и мы хотели бы провести тест памяти, чтобы увидеть, насколько хорошо работает каждая библиотека.

На самом деле я искал net и Я нашел утилиту process.memoryUsage(), но это дает противоречивые результаты:

console.log(process.memoryUsage());
for (let i = 0; i < 5000; i += 1) {
  await library.methodToBeUsed();
}
console.log(process.memoryUsage()); 

Logi c говорит, что это должно начинаться с более низких значений и увеличивать эти значения, когда другой процесс завершается, но результат будет следующим:

// First console.log
{
    rss: 102670336,
    heapTotal: 77803520,
    heapUsed: 53179464,
    external: 5351574
}

// Second console.log
{
    rss: 77381632,
    heapTotal: 49864704,
    heapUsed: 45468016,
    external: 4326686
}

Как видите, первый console.log дает значения использования выше, чем второй. Я могу догадаться, почему это происходит, и это потому, что в фоновом режиме есть больше процессов, которые также используют память и выполняются, освобождаются и так далее во время выполнения моего процесса, но этот код был выполнен в тестовом файле шутки, чтобы попробовать чтобы в максимальной степени избежать выполнения ненужных параллельных потоков и процессов.

Из-за этого мне интересно как я могу измерить, насколько хорошо библиотека (или точный фрагмент кода) работает как на использование памяти?

Мне не удалось найти пакеты, которые помогли бы мне это сделать (поскольку все используют тот же подход, что и я).

Если вам нужна дополнительная информация, которую я пропустил, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...