process.memoryUsage возвращает неверные значения - PullRequest
0 голосов
/ 19 марта 2019

У меня есть экспресс-API, и я хочу показать использование памяти API, чтобы проверить решение, я создаю глобальную переменную в модуле и для каждого запроса на получение я помещаю данные в массив, чтобы увидеть, увеличивается ли память или нет

let array = [];


const randomData = `150 216 86 129 25 116 72 20 155 148 91 30 187 152 136 204 125 182 250
 217 97 45 161 48 223 1 55 163 236 240 179 118 234 175 71 56 44 221 245 59 145 66 173 1
 12 197 88 146 140 111 223 59 169 53 68 123 0 252 68 96 215 132 236 245 128 43 98 16 110 
 22 5 179 12 177 87 162 5 134 64 226 250 70 238 114 215 135 147 85 218 140 194 244 107 62 
 87 19 169 227 2 97 184 215 164 30 34 229 35 46 71 127 120 75 243 68 143 40 203 132 211 212 
 253 136 159 24 149 241 58 167 199 247 140 229 151 85 65 25 44 106 199 216 110 61 72 135 
 103 251 122 103 128 134 9 25 38 61 136 159 158 225 137 44 246 176 217 202 149 73 111 73 22
 41 151 217 59 69 10 143 85 181 10 194 64 23 244 243 179 240 150 25 111 162 60 221 197 36 191 
 138 217 185 1 127 226 152 75 7 250 72 147 242 184 70 158 211 154 225 165 130 57 24 50 97 192
 125 88 131 183 171 67 209 251 151 64 11 59 206 75 143 17 34 203 95 97 57 209 212 112 99 180
 136 142 230 163 82 172 232 134 135 50 101 144 75 94 145 236 206 182 124 120 95 225 144 31 79 
 75 27 214 115 37 25 122 6 106 26 66 145 135 73 22 53 13 57 202 129 61 42 207 138 143 170 241
`;
exports.getAPIHealth = function (req, res) {

    console.log(process.memoryUsage())
    const memoryUsedMB = process.memoryUsage().heapUsed / (1024 * 1024);
    console.log(memoryUsedMB);

    array.push(randomData.toString());
    res.status(200).json({
        live: true,
        memoryUsage: memoryUsedMB.toFixed(2) + ' MB'
    })
};

На самом деле, когда я запускаю этот пример, я получаю странные значения:

{ rss: 57921536,
  heapTotal: 57929728,
  heapUsed: 18556128,
  external: 655899 }
17.73406219482422
{ rss: 58200064,
  heapTotal: 57929728,
  heapUsed: 18717496,
  external: 655899 }
17.854393005371094
{ rss: 58200064,
  heapTotal: 57929728,
  heapUsed: 18760720,
  external: 655899 }
17.894927978515625
{ rss: 58200064,
  heapTotal: 57929728,
  heapUsed: 18797824,
  external: 655899 }
17.930313110351562
{ rss: 58220544,
  heapTotal: 57929728,
  heapUsed: 18834928,
  external: 655899 }
17.965728759765625
{ rss: 41418752,
  heapTotal: 25423872,
  heapUsed: 18512640,
  external: 153782 }
17.659194946289062

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

Примечание: Я заметил, что использование памяти никогда не достигает 18 МБ (даже после многих запросов)

...