memory.ts 632 B

123456789101112131415161718192021222324
  1. import logger from "./logger";
  2. export default class MemoryUtils {
  3. maxMemoryOfByte: number = 0
  4. maxMemoryChanged: boolean = true
  5. logWithMemoryOnMemoryChange (logInfo: string) {
  6. const memoryUsage = process.memoryUsage()
  7. if (this.maxMemoryOfByte < memoryUsage.rss) {
  8. this.maxMemoryOfByte = memoryUsage.rss
  9. this.maxMemoryChanged = true
  10. }
  11. if (this.maxMemoryChanged) {
  12. logger.debug(`${logInfo} ${this.format(memoryUsage.rss)}/${this.format(this.maxMemoryOfByte)}`)
  13. this.maxMemoryChanged = false
  14. }
  15. }
  16. format (bytes: any) {
  17. return (bytes / 1024 / 1024).toFixed(2) + ' MB';
  18. }
  19. }