gatsbyjs / gatsby

The best React-based framework with performance, scalability and security built in.
https://www.gatsbyjs.com
MIT License
55.2k stars 10.33k forks source link

Heap memory usage increase during development builds after upgrading to v4.24.5 #36899

Open skatingincentralpark opened 1 year ago

skatingincentralpark commented 1 year ago

Preliminary Checks

Description

We have a large app in a monorepo using Gatsby v4.15.2. Upon upgrading to v4.24.5, and running gatsby develop causes the build to crash during Building development bundle with a Javascript heap out of memory error. See error snapshot below:

Error Snapshot - Gatsby v4.24.5 development build

<--- Last few GCs --->

[24620:0x160008000]    62793 ms: Mark-sweep (reduce) 3984.9 (4062.5) -> 3984.8 (4063.5) MB, 123.5 / 0.0 ms  (average mu = 0.191, current mu = 0.000) last resort GC in old space requested
[24620:0x160008000]    62929 ms: Mark-sweep (reduce) 3984.8 (4062.5) -> 3984.7 (4063.5) MB, 135.6 / 0.0 ms  (average mu = 0.098, current mu = 0.000) last resort GC in old space requested

<--- JS stacktrace --->

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: 0x100980a10 node::Abort() [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 2: 0x100980b74 node::OnFatalError(char const*, char const*) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 3: 0x100a999c4 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 4: 0x100a99958 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 5: 0x100c21f8c v8::internal::Heap::CollectionBarrier::Wait() [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 6: 0x100c2a71c v8::internal::Heap::SetUp() [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 7: 0x100bf9bb4 v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwoByteString(int, v8::internal::AllocationType) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 8: 0x100e42e8c v8::internal::String::SlowFlatten(v8::internal::Isolate*, v8::internal::Handle<v8::internal::ConsString>, v8::internal::AllocationType) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
 9: 0x100aa7138 v8::internal::String::Flatten(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>, v8::internal::AllocationType) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
10: 0x100ab6c1c v8::String::Utf8Length(v8::Isolate*) const [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
11: 0x100961f58 node::Buffer::(anonymous namespace)::ByteLengthUtf8(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
12: 0x100b030d8 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
13: 0x100b026d0 v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
14: 0x100b01f54 v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
15: 0x10122346c Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit [/Users/charleszhao/.nvm/versions/node/v14.17.6/bin/node]
16: 0x105b73080 
17: 0x105b7a928 

Comparison between 'v4.15.2', and 'v4.24.5' dev build memory consumption

For this test, we did the following: 1) Increased “heap size” allocated for memory by adding NODE_OPTIONS=--max-old-space-size=8192 to our dev script 2) Installed process-top` to profile the memory usage

Our Gatsby 'v4.24.5' build was now successful due to the increase in allocated heap memory from step (2) above. Also, we noticed an increase of ~2GB when comparing heap memory usage for Gatsby v4.15.2, and Gatsby v4.24.5, see table below:

Gatsby Version Heap Usage
Gatsby v4.15.2 2.5 GB / 2.6 GB
Gatsby v4.24.5 4.5 GB / 4.7 GB

Reproduction Link

https://github.com/skatingincentralpark/gatsby-v4-test

Steps to Reproduce

  1. git clone https://github.com/skatingincentralpark/gatsby-v4-test.git
  2. cd to the project folder /gatsby-v4-test
  3. Run git switch 4.15.2-no-packages to switch to the branch with Gatsby v4.15.2
  4. Run yarn to install dependencies
  5. Run yarn dev to start development server
  6. Notice the highest heap will be around 623 MB / 657 MB
  7. Run yarn clean to clear Gatsby cache
  8. Run git switch 4.24.5-no-packages to switch to the branch with Gatsby v4.24.5
  9. Run yarn to install dependencies
  10. Run yarn dev to start development server
  11. Notice the highest heap will be around 1.5 GB / 1.6 GB

Expected Result

Expected the heap usage to be similar after upgrading to v4.24.5 from v4.15.2.

Actual Result

Heap usage increased by 1GB. This increased memory usage in Gatbsy v4.24 causes a 'Javascript heap out of memory' error if NODE_OPTIONS=--max-old-space-size=8192 is not added to our dev script.

Environment

System:
    OS: macOS 11.6
    CPU: (8) arm64 Apple M1
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.6 - ~/.nvm/versions/node/v14.17.6/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v14.17.6/bin/yarn
    npm: 6.14.15 - ~/.nvm/versions/node/v14.17.6/bin/npm
  Languages:
    Python: 2.7.16 - /usr/bin/python
  Browsers:
    Chrome: 106.0.5249.119
    Firefox: 104.0.2
    Safari: 15.0
  npmGlobalPackages:
    gatsby-cli: 4.10.1

Config Flags

No response

LekoArts commented 1 year ago

Hi, thanks for the issue!

Also thanks for the detailed issue. I suppose you updated your app from 4.15 to 4.24 without any incremental updates right? Because the version range is too large to be able to find the culprit. What would need to be done is bisect the releases, so e.g.

If then e.g. 4.17 would have it, double check that 4.16 is ok. Then one could be sure that the 4.17 release has this regression. If you have the time, we'd much appreciate it if you (or anyone else) could help with this.

skatingincentralpark commented 1 year ago

Hey @LekoArts, here are the results from the investigation (credits: @odunet ⭐️)! We've also recorded the PartyTown Context error versions, but that can be ignored as the latest versions have implemented the fix.

Gatsby versions investigation results 'v4.15.0 - 'v4.24.4'

Gatsby Version Webpack 'pack' folder size OOM Error? (Out Of Memory) PartyTown Error? Comment
Gatsby v4.15.4 10.05GB NO NO Version usable with no errors
Gatsby v4.16.0 10.05GB NO YES Version NOT usable with PartyTown Context error
Gatsby v4.17.0 10.05GB NO YES Version NOT usable with PartyTown Context error
Gatsby v4.17.2 10.05GB NO YES Version NOT usable with PartyTown Context error
Gatsby v4.18.0 10.03GB NO YES Version NOT usable with PartyTown Context error
Gatsby v4.18.2 10.05GB NO YES Version NOT usable with PartyTown Context error
Gatsby v4.19.0 19.69GB YES YES Version NOT usable with PartyTown Context error, and OOM error
Gatsby v4.20.0 19.69GB YES NO version has OOM error, but usable with NODE_OPTIONS memory fix
Gatsby v4.21.0 19.69GB YES NO version has OOM error, but usable with NODE_OPTIONS memory fix
Gatsby v4.22.0 19.45GB YES NO version has OOM error, but usable with NODE_OPTIONS memory fix
Gatsby v4.23.0 19.69GB YES NO version has OOM error, but usable with NODE_OPTIONS memory fix
Gatsby v4.24.0 19.69GB YES NO version has OOM error, but usable with NODE_OPTIONS memory fix

As shown above, Gatsby v4.16.0 in commit https://github.com/gatsbyjs/gatsby/commit/a88703f4de47c0ba9db48914bc2e0df73440dc92 introduced a PartyTown Context bug, this bug rendered versions v4.16.0 - v4.19.0 unusable for us. This was later fixed in Gatsby v4.20.0 in commit https://github.com/gatsbyjs/gatsby/commit/49cf094380bcf69d9239f8abbbd4db9c1968dcf8.

It can also be deduced from above that the OOM (Out of memory) error was introduced in Gatsby v4.19.0, the OOM error was accompanied by an increase of approximately 9GB in the webpack 'pack' file size.

Thank you ✊

LekoArts commented 1 year ago

Awesome, thank you for help on this! We'll have a closer look at this next week 👍

dacevedo12 commented 1 year ago

Any updates on this? Seems like gatsby 5 is also affected

Can confirm it works well with 4.15.2

LekoArts commented 1 year ago

I've re-ran your reproduction again and I don't see the behavior described anymore. I think I saw it when I initially tried it but that could have been just a coincidance.

4.15.2:

image

4.24.5

image

As you can see the heap is really similar. And this also makes sense. Node.js will use all the available memory and only then garbage collect.

We then tried to force garbage collection and also only saw 350 MB vs 400MB. You can try that for yourself:

// in your gatsby-node.js

// ...rest of imports

const v8 = require(`v8`)
const vm = require(`vm`)
v8.setFlagsFromString(`--expose_gc`)
const gc = vm.runInNewContext(`gc`)

exports.createPages = async ({ graphql, actions, reporter }) => {
  setInterval(() => {
    // Prints out a string containing stats about your Node.js process.
    gc()
    console.log(top.toString())
  }, 5000)

  // ... rest of files

So the important question is: Did you get out of memory errors? Because if not then this behavior isn't too unusual.

skatingincentralpark commented 1 year ago

Hey @LekoArts, thank you very much for your response. I just re-ran the reproduction (following the steps outlined in the issue) on two computers multiple times and am still seeing the behaviour described in the issue (which differs from your results).

In answer to your question "Did you get out of memory errors?": Yes we do get OOM errors in our main application of the same structure (since it is much larger in size). Which prevents us from starting our dev server.

I've created a reproduction of the OOM error in a new branch. Instructions are at the bottom of the comment

Your heap usage with forced garbage collection seems to align with my results.

Questions

  1. Could you please run the initial test again to confirm?
  2. Is forced garbage collection a proposed fix for this issue experienced?

Summary of results

Macbook Pro 13" Macbook Pro 14" Macbook Pro 13" - Force Garbage Collection
v4.15.2 Heap 605MB / 637MB 667MB / 710MB 318MB / 498MB
v4.24.5 Heap 1.5GB / 1.6GB 1.3GB / 1.4GB 379MB / 559MB

Screenshots of results and System Info

Macbook Pro 13"

macbook pro 13 - 4 15 2 macbook pro 13 - 4 24 5

System:
    OS: macOS 11.6
    CPU: (8) arm64 Apple M1
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.6 - ~/.nvm/versions/node/v14.17.6/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v14.17.6/bin/yarn
    npm: 6.14.15 - ~/.nvm/versions/node/v14.17.6/bin/npm
  Languages:
    Python: 2.7.16 - /usr/bin/python
  Browsers:
    Chrome: 106.0.5249.119
    Firefox: 104.0.2
    Safari: 15.0
  npmGlobalPackages:
    gatsby-cli: 4.10.1

Macbook Pro 14"

macbook pro 14 - 4 15 2 macbook pro 14 - 4 24 5
  System:
    OS: macOS 12.1
    CPU: (10) arm64 Apple M1 Pro
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 18.6.0 - ~/.nvm/versions/node/v18.6.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.6.0/bin/yarn
    npm: 8.13.2 - ~/.nvm/versions/node/v18.6.0/bin/npm
  Languages:
    Python: 2.7.18 - /usr/bin/python
  Browsers:
    Chrome: 107.0.5304.110
    Safari: 15.2
  npmGlobalPackages:
    gatsby-cli: 4.24.0

Macbook Pro 13" - Garbage Collected

4 15 2-force-garbage-collection-1 4 24 5-force-garbage-collection-1

Steps to produce OOM error

I have created a branch on the reproduction repo that will have the OOM error. Below are the steps.

  1. Run git clone https://github.com/skatingincentralpark/gatsby-v4-test.git
  2. Cd to directory cd gatsby-v4-test/
  3. Run git switch 4.24.5-all-packages to switch to the branch with Gatsby v4.24.5 and various packages installed and initialised
  4. Run yarn to install dependencies
  5. Run yarn dev to start development server
  6. OOM should appear
pepijn-vanvlaanderen commented 1 year ago

We started running into OOM issues as well, I will also post some of the testing we did in a bit.

@skatingincentralpark maybe a workaround for you (or something to test/benchmark as well) is with the DEV_SSR flag enabled. For us it made it possible to just start the dev server again.

skatingincentralpark commented 1 year ago

@pepijn-vanvlaanderen

Awesome, DEV_SSR does seem to work. Although, it would be hard for us to use, since it seems to make using shadowing files quite unpredictable 🥲.

Handy to have in the back pocket though.

mjBayati commented 1 year ago

the heap memory issue remained in gatsby5, in my experience with gatsby5, mdx2 and newest versions of gatsby_* packages, the report is as below

the scope: 1.less than 1000 mdx pages 2.using sharp and react svg for images

the raised problems:

  1. development server with 12 gb of ram always raises heap allocation error with less than 1000 mdx pages
  2. build takes at least 20 gb of ram
  3. after serve, the images in pages take too much time to load in comparison with gatsby 4.15, at least 5 second!
  4. the pages js bundle raised too much, that makes website to load after 5 second, in comparison with gatsby 4.15 that was taking less than 500 milisecond for same code.

I hope this comment be helpful, for those who wants to upgrade to reconsider their strategy, Also I hope that development community revise the building process of gatsby5, webpack and react 18 together

macsmel commented 1 year ago

I have a problem with memory leak for a long time. I wait a fix and don't update my projects from 4.14.1 to newest versions.

FraserThompson commented 1 year ago

I have this issue too after updating from Gatsby 4.14.1 to Gatsby 5 (and to react-plugin-mdx). My site is pretty big, with around 1,000 pages and 17,000 images. None of the workarounds work and I can't build my site.

I have tried adjusting the heap limit to 16gb with NODE_OPTIONS=--max-old-space-size=16384 (I have 32GB of system memory). gatsby develop works if I set the DEV_SSR flag, but gatsby build always runs out of memory at the Building HTML renderer phase with:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

edit: Managed to get my build to finish by closing all background apps and raising the --max-old-space-size to 24gb (at its peak it used 19gb during build). This also helps gatsby develop to not crash as frequently. Overall memory usage is now 27/32gb when running gatsby develop, so this obviously isn't a practical solution for the majority of people who will have 16GB of RAM or less, and attempting to load certain pages consumes all system memory and crashes it.

Sidenote: My builds also seem to take A LOT longer now than before. On Gatsby 4 the first build took ages, but subsequent builds took less (like maybe half an hour, and most of that was generating images). On Gatsby 5 my first successful build took around 5 hours, and subsequent builds also took 5 hours. It was processing images it had already processed the first time. It seems like caching is broken?

github-actions[bot] commented 1 year ago

Hiya!

This issue has gone quiet. Spooky quiet. 👻

We get a lot of issues, so we currently close issues after 60 days of inactivity. It’s been at least 20 days since the last update here. If we missed this issue or if you want to keep it open, please reply here. As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out gatsby.dev/contribute for more information about opening PRs, triaging issues, and contributing!

Thanks for being a part of the Gatsby community! 💪💜

macsmel commented 1 year ago

Any updates?

mjBayati commented 1 year ago

Is there anything that community(we) can help with?, by upgrading, the issues with gatsby-plugin-mdx is solved. But now, we encounter heap memory issues and rendering issues while using gatsby-plugin-material-ui/

macsmel commented 1 year ago

Is there anything that community(we) can help with?, by upgrading, the issues with gatsby-plugin-mdx is solved. But now, we encounter heap memory issues and rendering issues while using gatsby-plugin-material-ui/

I don't use gatsby-plugin-mdx and gatsby-plugin-material-ui in my projects, but I still have heap memory issues.

mjBayati commented 1 year ago

Hi, I commented before on this thread here and here. Now that i'm commenting, i can say that our issues with gatsby 5 are resolved.

the steps that we followed is as below:

  1. there was recompilation per mdx, which when tracing the bug we found out that it's important to put your import x.css or all css related stuffs at the end of your imports.

  2. it's so important to not concurrent build your template pages, for example your mdx's, because each of theme will be passed as context variable to template, which makes memory leak when you have accountable number of files to render.

  3. if you are using some styling system like gatsby-plugin-material-ui, which raises warning at compile time, it's so important to care about that warnings

    • for example in our case, using gatsby-plugin-material-ui added some hydration error while using dev_server, which with replacing it with it's newer verified version => gatsby-plugin-emotion, all errors has gone.
  4. there is an important fix in gatsby v5.3, which is related to esm based modules i think, if you aren't yet, please upgrade to latest.

  5. and the last and most important thing, please take a look at your gatsby-node, if you have different categories of files that should be compiled, separate them. and make their graphql query to run independently, and then create their related pages in some isolated context, it reduces your build time.

    • for example, if you have blog and knowledge-base, where can be build in different templates, separate their build scenarios

important note on running development server: Change your gatsby-node in the way that your mdx related files not be rendered in development mode, there is an error when running development server on mdx files, for our team, it increases the memory usage incrementally while changing files and recompiling. which makes memory heap error after a while.

LekoArts commented 1 year ago

We haven't tried the updated reproduction since my last comment, but already back then we couldn't verify what you were seeing unfortunately. The issue is also now a mix between "just" increased memory usage and OOM. It's not clear to us what the actual problem is now.

Anyways, as per https://www.gatsbyjs.com/docs/reference/release-notes/gatsby-version-support/ I'm afraid that we can't invest a lot of time chasing this down in the 4.x release. For Gatsby 5 we did a lot of upgrades here and there, including https://github.com/gatsbyjs/gatsby/pull/37377 which updates webpack itself from a version from Oct 29, 2021 to the latest version.

So my asks are:

Thanks!

sibelius commented 1 year ago

this is happening to us on gatsby 5.4.2

samueldurantes commented 1 year ago

I'm having this problem with version 5.4.2

Before making these customizations to gatsby-node.js, compilation proceeds normally:

    fallback: {
      fs: false,
      constants: false,
      http: require.resolve('stream-http'),
      https: require.resolve('https-browserify'),
      os: require.resolve('os-browserify/browser'),
      tty: require.resolve('tty-browserify'),
+    path: require.resolve('path-browserify'),
+    stream: require.resolve('stream-browserify'),
+    crypto: require.resolve('crypto-browserify'),
+    zlib: require.resolve('browserify-zlib'),
+    buffer: require.resolve('buffer/'),
    },
  };
+     plugins: [
+        new webpack.ProvidePlugin({
+          Buffer: ['buffer', 'Buffer'],
+        }),
+        new webpack.ProvidePlugin({
+          process: 'process/browser',
+        }),
+      ],

Now I'm having the same problem described in this issue. What could be happening?

LekoArts commented 1 year ago

this is happening to us on gatsby 5.4.2

@sibelius Please understand that these types of comments are not helpful for us as they are not actionable. As mentioned in https://github.com/gatsbyjs/gatsby/issues/36899#issuecomment-1385544620 we weren't able to reproduce this issue yet. Also "this" is quite ambiguous, what do you mean with "this"?

We want to help y'all but we need a https://www.gatsbyjs.com/contributing/how-to-make-a-reproducible-test-case/, actionable comments (no "+1" comments) and more details.

sibelius commented 1 year ago

we got this "fixed" like this

NODE_OPTIONS=--max_old_space_size=4096 gatsby build

giving 4GB for gatsby build

macsmel commented 1 year ago

we got this "fixed" like this

NODE_OPTIONS=--max_old_space_size=4096 gatsby build

giving 4GB for gatsby build

Sorry, but it is not helpful. The build shouldn't consume 2.5gb-3gb in version 4.14.1 and 4-10gb in new versions.

pixelsoup commented 1 year ago

Note: This response comes from the team that created this issue.
@skatingincentralpark @McLeodSean @McLeodSean @odunet @pixelsoup cc @LekoArts


After lots of testing we were able to fix our issue and successfully upgrade to Gatsby v5.4.2 with the following changes.

Early Tests

Conclusion

❌ Before

The JavaScript heap out of memory error would trigger when memory exceeded 5GB even with NODE_OPTIONS=--max-old-space-size=8192 enabled. This happens for us with a site over 1,000 pages. This is what we'd see just before the error on a large site.

Screen Shot 2023-01-25 at 2 05 39 pm

✅ After

gatsby-config.js

    {
      resolve: 'gatsby-plugin-emotion',
      options: {
        sourceMap: false,
      },
    },

Instead of the memory heap climbing above 4GB it garbage collects at 4GB and dip back to a reasonable range.

Screen Shot 2023-01-25 at 11 14 34 am
pieh commented 1 year ago

@pixelsoup

Using your repo I was able to narrow things down to introduction of Head as commit that did increase memory usage during webpack compilation. I will be diving into it more, as that was hefty change with lot of moving pieces, but now I at least have something concrete to work against.

Thanks!

panzacoder commented 1 year ago

Hi, I commented before on this thread here and here. Now that i'm commenting, i can say that our issues with gatsby 5 are resolved.

the steps that we followed is as below:

  1. there was recompilation per mdx, which when tracing the bug we found out that it's important to put your import x.css or all css related stuffs at the end of your imports.
  2. it's so important to not concurrent build your template pages, for example your mdx's, because each of theme will be passed as context variable to template, which makes memory leak when you have accountable number of files to render.
  3. if you are using some styling system like gatsby-plugin-material-ui, which raises warning at compile time, it's so important to care about that warnings
    • for example in our case, using gatsby-plugin-material-ui added some hydration error while using dev_server, which with replacing it with it's newer verified version => gatsby-plugin-emotion, all errors has gone.
  4. there is an important fix in gatsby v5.3, which is related to esm based modules i think, if you aren't yet, please upgrade to latest.
  5. and the last and most important thing, please take a look at your gatsby-node, if you have different categories of files that should be compiled, separate them. and make their graphql query to run independently, and then create their related pages in some isolated context, it reduces your build time.
    • for example, if you have blog and knowledge-base, where can be build in different templates, separate their build scenarios

important note on running development server: Change your gatsby-node in the way that your mdx related files not be rendered in development mode, there is an error when running development server on mdx files, for our team, it increases the memory usage incrementally while changing files and recompiling. which makes memory heap error after a while.

@mjBayati I'm interested in several of the things you did here to mitigate your issues. This is the most unique advice I've seen on build performance with Gatsby, but some of the things you did are a little hard to determine how to replicate.

  1. You say you moved you css import, can you be more specific? What file is it in? Where was it importing from? Did the css change or did you just change the import order?
  2. How are you determining which templates are building concurrently? Did you go from sync to async node functions or did you determine some other form of control over concurrency?
  3. You say "separate" the queries. How do you mean? Are you writing multiple queries that need to be completed synchronously? I would love to see an example or reproduction, even if your example only contains example queries with no actual data, I'm interested in how your are structuring your file to achieve separation of concerns

Thanks!

nkuehn commented 1 year ago

@pixelsoup thank you very much for the detailed reports and your conclusion. Your conclusions (disabling all source map generation, granting more memory and some other optimizations) led us to a 50-60% decrease now but I would not really call that a "fix" because the memory requirements are still significantly higher than before, it's just bringing it back into a state that works at all.

We are using gatsby 5.5, MDX v2 and emotion and are still struggling with peak memory issues in the build step. The issue likely came up with one of the 4.x releases in our case and got amplified by upgrading MDX to v2 now, causing this investigation. It's small sites in terms of number of pages (< 200) but a nontrivial gatsby usage.

Specifically, the issue is happening in the "Building HTML renderer" step of the build and it has the sneaky property of the RAM only spiking up for less than a second if run on a cached build. I'm forcing GC now, too before logging but it's clear that the memory report is not only uncollected thrash but actual memory assignments.
@LekoArts you mentioned that you had not been able to reproduce on a second run above, there may be a possibility that it was due to the sampling of process-top via setInterval not catching the issue at the right moment if it was a cached build?

I'm aware that by title this discussion is about issues in the development server, but I found that analyzing the problem via the build process is more predictable and better to debug.

Once we got our users productive again through a mix of throwing hardware at the problem and the above mentioned optimizations we'll try to get to a reproduction scenario on a current gatsby version. May take a bit though.

UPDATE: the build time issue turned out unrelated (but an actual issue rooted in the architectural changes in the MDX v2 plugin).

pieh commented 1 year ago

Hey folks, I located a reason for increased memory usage (at least in repro provided by @pixelsoup ) and put up draft PR ( https://github.com/gatsbyjs/gatsby/pull/37619 ) to address it somewhat (i.e. if you don't use Head API, you should get back to pre 4.19 memory usage levels).

This allowed me to go from (heap max - heap: 3.0 GB):

cpu: 145.7% | rss: 669 MB (4.0%) | heap: 474 MB / 504 MB (94.1%) | ext: 142 MB | delay: 901 ms | 00:00:10 | loadavg: 1.56, 0.71, 0.44
cpu: 142.1% | rss: 732 MB (4.4%) | heap: 519 MB / 561 MB (92.4%) | ext: 144 MB | delay: 1080 ms | 00:00:11 | loadavg: 1.52, 0.71, 0.44
cpu: 163.8% | rss: 794 MB (4.8%) | heap: 588 MB / 621 MB (94.6%) | ext: 148 MB | delay: 1280 ms | 00:00:12 | loadavg: 1.52, 0.71, 0.44
cpu: 144.1% | rss: 1.9 GB (11.4%) | heap: 1.5 GB / 1.8 GB (85.5%) | ext: 148 MB | delay: 1015 ms | 00:00:19 | loadavg: 1.48, 0.72, 0.45
cpu: 157.9% | rss: 2.3 GB (14.1%) | heap: 1.6 GB / 1.9 GB (88.1%) | ext: 502 MB | delay: 885 ms | 00:00:20 | loadavg: 1.48, 0.72, 0.45
cpu: 165.8% | rss: 2.9 GB (17.5%) | heap: 1.9 GB / 2.2 GB (86.2%) | ext: 742 MB | delay: 879 ms | 00:00:21 | loadavg: 1.44, 0.72, 0.45
cpu: 166.4% | rss: 3.0 GB (18.3%) | heap: 2.0 GB / 2.1 GB (92.5%) | ext: 880 MB | delay: 827 ms | 00:00:22 | loadavg: 1.44, 0.72, 0.45
cpu: 228.2% | rss: 3.0 GB (18.3%) | heap: 2.0 GB / 2.1 GB (92.2%) | ext: 880 MB | delay: 403 ms | 00:00:23 | loadavg: 1.44, 0.72, 0.45
cpu: 210.2% | rss: 3.0 GB (18.3%) | heap: 2.0 GB / 2.1 GB (92.6%) | ext: 880 MB | delay: 237 ms | 00:00:24 | loadavg: 1.44, 0.72, 0.45
cpu: 198.1% | rss: 3.0 GB (18.3%) | heap: 2.0 GB / 2.1 GB (92.3%) | ext: 880 MB | delay: 69 ms | 00:00:25 | loadavg: 1.44, 0.72, 0.45
cpu: 184.1% | rss: 4.9 GB (29.4%) | heap: 2.2 GB / 2.3 GB (95.1%) | ext: 2.5 GB | delay: 4 ms | 00:00:36 | loadavg: 1.34, 0.74, 0.46
cpu: 176.7% | rss: 4.9 GB (29.5%) | heap: 2.2 GB / 2.3 GB (95.1%) | ext: 2.5 GB | delay: 717 ms | 00:00:37 | loadavg: 1.34, 0.74, 0.46
cpu: 169.2% | rss: 4.9 GB (29.4%) | heap: 2.2 GB / 2.3 GB (95.4%) | ext: 2.5 GB | delay: 722 ms | 00:00:38 | loadavg: 1.34, 0.74, 0.46
cpu: 162.2% | rss: 4.9 GB (29.6%) | heap: 2.3 GB / 2.4 GB (96.1%) | ext: 2.5 GB | delay: 782 ms | 00:00:39 | loadavg: 1.34, 0.74, 0.46
cpu: 116.9% | rss: 5.0 GB (30.2%) | heap: 2.4 GB / 2.4 GB (97.7%) | ext: 2.5 GB | delay: 2614 ms | 00:00:40 | loadavg: 1.34, 0.74, 0.46
cpu: 131.3% | rss: 5.1 GB (30.9%) | heap: 2.5 GB / 2.6 GB (97.8%) | ext: 2.5 GB | delay: 572 ms | 00:00:42 | loadavg: 1.39, 0.76, 0.47
cpu: 140.2% | rss: 5.2 GB (31.5%) | heap: 2.6 GB / 2.6 GB (97.8%) | ext: 2.5 GB | delay: 852 ms | 00:00:43 | loadavg: 1.39, 0.76, 0.47
cpu: 151.1% | rss: 5.3 GB (32.1%) | heap: 2.7 GB / 2.7 GB (97.9%) | ext: 2.5 GB | delay: 769 ms | 00:00:44 | loadavg: 1.39, 0.76, 0.47
cpu: 151.2% | rss: 5.4 GB (32.7%) | heap: 2.8 GB / 2.8 GB (97.9%) | ext: 2.6 GB | delay: 819 ms | 00:00:45 | loadavg: 1.39, 0.76, 0.47
cpu: 145.6% | rss: 5.6 GB (34.0%) | heap: 3.0 GB / 3.0 GB (98.1%) | ext: 2.6 GB | delay: 888 ms | 00:00:47 | loadavg: 1.36, 0.76, 0.47
cpu: 178.4% | rss: 3.6 GB (21.8%) | heap: 427 MB / 626 MB (68.3%) | ext: 1.5 GB | delay: 786 ms | 00:00:48 | loadavg: 1.36, 0.76, 0.47
⠀
You can now view website in the browser.

to (heap max - heap: 1.5 GB)

cpu: 130.2% | rss: 563 MB (3.4%) | heap: 370 MB / 406 MB (91.3%) | ext: 142 MB | delay: 1143 ms | 00:00:09 | loadavg: 2.13, 1.29, 0.83
cpu: 149.5% | rss: 624 MB (3.8%) | heap: 424 MB / 462 MB (91.8%) | ext: 145 MB | delay: 1310 ms | 00:00:10 | loadavg: 2.13, 1.29, 0.83
cpu: 167.9% | rss: 692 MB (4.2%) | heap: 495 MB / 526 MB (94.1%) | ext: 148 MB | delay: 1103 ms | 00:00:11 | loadavg: 2.13, 1.29, 0.83
cpu: 154.3% | rss: 1.2 GB (7.0%) | heap: 950 MB / 1.0 GB (93.7%) | ext: 145 MB | delay: 859 ms | 00:00:14 | loadavg: 1.95, 1.27, 0.82
cpu: 163.2% | rss: 1.8 GB (10.6%) | heap: 1.2 GB / 1.3 GB (89.3%) | ext: 441 MB | delay: 831 ms | 00:00:15 | loadavg: 1.95, 1.27, 0.82
cpu: 164.4% | rss: 1.7 GB (10.3%) | heap: 1.1 GB / 1.2 GB (90.8%) | ext: 515 MB | delay: 774 ms | 00:00:16 | loadavg: 2.04, 1.30, 0.83
cpu: 214.0% | rss: 1.7 GB (10.3%) | heap: 1.1 GB / 1.2 GB (90.4%) | ext: 515 MB | delay: 307 ms | 00:00:17 | loadavg: 2.04, 1.30, 0.83
cpu: 204.2% | rss: 1.7 GB (10.3%) | heap: 1.1 GB / 1.2 GB (90.6%) | ext: 515 MB | delay: 99 ms | 00:00:18 | loadavg: 2.04, 1.30, 0.83
cpu: 198.3% | rss: 1.7 GB (10.3%) | heap: 1.1 GB / 1.2 GB (91.2%) | ext: 515 MB | delay: 4 ms | 00:00:19 | loadavg: 2.04, 1.30, 0.83
cpu: 194.7% | rss: 1.7 GB (10.3%) | heap: 1.1 GB / 1.2 GB (91.8%) | ext: 515 MB | delay: 10 ms | 00:00:20 | loadavg: 2.04, 1.30, 0.83
cpu: 174.8% | rss: 2.7 GB (16.3%) | heap: 1.3 GB / 1.3 GB (94.8%) | ext: 1.4 GB | delay: 15 ms | 00:00:26 | loadavg: 1.96, 1.30, 0.83
cpu: 157.5% | rss: 2.7 GB (16.4%) | heap: 1.3 GB / 1.3 GB (95.9%) | ext: 1.4 GB | delay: 732 ms | 00:00:27 | loadavg: 1.96, 1.31, 0.84
cpu: 154.3% | rss: 2.8 GB (17.0%) | heap: 1.4 GB / 1.4 GB (96.4%) | ext: 1.4 GB | delay: 790 ms | 00:00:29 | loadavg: 1.96, 1.31, 0.84
cpu: 133.7% | rss: 2.9 GB (17.4%) | heap: 1.5 GB / 1.5 GB (97.2%) | ext: 1.4 GB | delay: 2000 ms | 00:00:30 | loadavg: 1.96, 1.31, 0.84
cpu: 167.1% | rss: 1.6 GB (9.4%) | heap: 349 MB / 608 MB (57.4%) | ext: 169 MB | delay: 744 ms | 00:00:31 | loadavg: 1.96, 1.31, 0.84
cpu: 167.7% | rss: 1.6 GB (9.4%) | heap: 486 MB / 613 MB (79.3%) | ext: 175 MB | delay: 800 ms | 00:00:32 | loadavg: 1.88, 1.30, 0.84
cpu: 156.3% | rss: 1.7 GB (10.1%) | heap: 681 MB / 727 MB (93.6%) | ext: 183 MB | delay: 791 ms | 00:00:35 | loadavg: 1.88, 1.30, 0.84
⠀
You can now view website in the browser.

(Building development bundle step also takes less time as a result)

That won't help at all with build problem (mentioned by @nkuehn ), but is at least a start at addressing these problems

nkuehn commented 1 year ago

UPDATE: the build time issue turned out to be unrelated (MDX v2 plugin issue, found a workaround).

@pieh thank you for helping out! We do have a huge memory issue in the development mode, too. I just turned to debugging the build first because it was more reproducible.

Caveat: I still cannot reliably say that my problem is the same. My current path of investigation is that at build time I am seeing very large page-specific JS bundles in .cache/page-ssr/routes/ that repeat the same dependent libraries over and over again whereas I think that dependencies that are not per-page should normally live only once in render-page.js (may point towards an issue our application structure). Roughly looking into a heap dump showed that all these page specific js bundles live in memory in the peak memory situations (webpack CachedSource objects), which feels bogus even if our implementation has no issues. I have not been able to heap dump a dev server though (OOM, dumping requires another doubling of memory). --> all done on gatsby 5.5.0 and latest MDX v2

I can now say the build and develop time issues are unrelated. But I can also confirm the develop time issue discussed here.

EDIT / UPDATE: (removed, turned out unrelated to this discussion)

mjBayati commented 1 year ago

Hi, I commented before on this thread here and here. Now that i'm commenting, i can say that our issues with gatsby 5 are resolved. the steps that we followed is as below:

  1. there was recompilation per mdx, which when tracing the bug we found out that it's important to put your import x.css or all css related stuffs at the end of your imports.
  2. it's so important to not concurrent build your template pages, for example your mdx's, because each of theme will be passed as context variable to template, which makes memory leak when you have accountable number of files to render.
  3. if you are using some styling system like gatsby-plugin-material-ui, which raises warning at compile time, it's so important to care about that warnings

    • for example in our case, using gatsby-plugin-material-ui added some hydration error while using dev_server, which with replacing it with it's newer verified version => gatsby-plugin-emotion, all errors has gone.
  4. there is an important fix in gatsby v5.3, which is related to esm based modules i think, if you aren't yet, please upgrade to latest.
  5. and the last and most important thing, please take a look at your gatsby-node, if you have different categories of files that should be compiled, separate them. and make their graphql query to run independently, and then create their related pages in some isolated context, it reduces your build time.

    • for example, if you have blog and knowledge-base, where can be build in different templates, separate their build scenarios

important note on running development server: Change your gatsby-node in the way that your mdx related files not be rendered in development mode, there is an error when running development server on mdx files, for our team, it increases the memory usage incrementally while changing files and recompiling. which makes memory heap error after a while.

@mjBayati I'm interested in several of the things you did here to mitigate your issues. This is the most unique advice I've seen on build performance with Gatsby, but some of the things you did are a little hard to determine how to replicate.

  1. You say you moved you css import, can you be more specific? What file is it in? Where was it importing from? Did the css change or did you just change the import order?
  2. How are you determining which templates are building concurrently? Did you go from sync to async node functions or did you determine some other form of control over concurrency?
  3. You say "separate" the queries. How do you mean? Are you writing multiple queries that need to be completed synchronously? I would love to see an example or reproduction, even if your example only contains example queries with no actual data, I'm interested in how your are structuring your file to achieve separation of concerns

Thanks!

Hi, thanks for your deep diving into my comment, here it is some more explanation about your questions:

  1. it was about reordering imports, and putting all css imports to last,
  2. I realized that in new version of mdx rendering, all content will be passed to template as children, which this content, is huge and increases memory usage, our build had below structure before
    
    Promise(fetchBlogsContentFromGraphql() && renderBlogs())
    Promise(fetchKbContentsFromGraphql() && renderKbs())
    Promsie(fetchLandingsFromGraphql() && renderLandings())

Promise.all().then(doOtherWorks())


and also `renderX()` functions was as below:

async loop on each page content: renderPageByTemplate()


what we did was removing concurrent builds and `await` on each section, and also making `renderPagesLoops` sync.

** Also it's important to separate your `graphql query + build`, like what we did, (separations of blogs, kbs and landings)

by this kind of works, we was able to make our dev and production servers runnable!.
nkuehn commented 1 year ago

An indication to whomever may be competent to investigate the issue better: Development mode with the discussed heap issues (< 50 pages project) creates an 11GB sized ./.cache/webpack/stage-develop/0.pack file in our project that has similar issues as discussed here. Unfortunately I have no means to introspect it reasonably and also am not able to create a heap dump due to the sheer amount of memory involved.

pieh commented 1 year ago

I released gatsby@5.7.0-next.1 with some improvements (mentioned in https://github.com/gatsbyjs/gatsby/issues/36899#issuecomment-1419097423) - I would appreciate feedback if this change helped at all. If it did help I will look to release this in stable v5 and backport it to v4 stable as well.

An indication to whomever may be competent to investigate the issue better: Development mode with the discussed heap issues (< 50 pages project) creates an 11GB sized ./.cache/webpack/stage-develop/0.pack file in our project that has similar issues as discussed here. Unfortunately I have no means to introspect it reasonably and also am not able to create a heap dump due to the sheer amount of memory involved.

This won't fully address this, but after few test runs I saw that using this snippet in gatsby-node file:

exports.onCreateWebpackConfig = ({ actions, stage, getConfig }) => {
  if (stage === `develop` || stage === `develop-html`) {
    actions.setWebpackConfig({
      cache: {
        compression: "gzip",
      },
    })
  }
}

keeps memory usage lower than default with no compression at all (it also does decrease cache files size on disk, but I don't think that was main issue and rather just symptom). brotli is an another compression option which results in even smaller files in cache, but in my tests memory usage was on par with default (no compression).

You can also try go even further and disable webpack caching completely which decreases memory usage in my tests quite a bit (but makes dev server restarts longer, so trade-off, but might be waranted to use for now if dev server just crashes on OOMs):

exports.onCreateWebpackConfig = ({ actions, stage, getConfig }) => {
  if (stage === `develop` || stage === `develop-html`) {
    actions.setWebpackConfig({
      cache: false,
    })
  }
}
nkuehn commented 1 year ago

@pieh thank you! Here's my results in a test site with our custom theme and ca 150 MDX pages across two templates, tracked as recommended above with a forced garbage collection before the "process-top" call.

In any case, it takes a very long time until the first page is loaded in the dev preview but from then on things are fast - time that gets longer with the number of pages but only in the bundle generation stage.

Since you pointed to the cache settings I've tried out various combinations of webpack cache configuration and found the following to at least freeing a lot of the memory again after navigating to a second page in the dev server (not on the first page view though and only if the DEV_SSR flag is on).

idleTimeout: 100, // defaults to 60000 millis
idleTimeoutAfterLargeChanges: 100, // defaults to 1000 millis
allowCollectingMemory: true, // defaults to false.
maxMemoryGenerations: 0, // see docs https://webpack.js.org/configuration/cache/#cachemaxmemorygenerations

TL:Dr: Improvements but nothing that looks like it's addressing a root cause.

pieh commented 1 year ago

For develop specifically we hope https://github.com/gatsbyjs/gatsby/pull/37040 (once we are able to resume work on it) could help a lot for larger sites as webpack would just skip compilatation for a lot of modules that are not needed for what the user need to display a single page on dev server. I've been doing some memory snapshoting / allocation timeline stuff and I definitely saw a lot of memory being allocated specifically during serialization (part of webpack's caching pipeline).

I will continue to dig into the entire pipeline for MDX overall (not just develop), but I don't have anything concrete yet on it.

nkuehn commented 1 year ago

@pieh thanks! concerning the MDX build memory issue my current hack is to import the template components that are used in many pages into gatsby-ssr.js without doing anything sensible there with them. That resolved the build time memory issue as all re-used code goes into the central renderer bundle.

labnol commented 1 year ago

Any updates, please? The builds are still failing for Gatsby 5.8.0

https://github.com/gatsbyjs/gatsby/issues/37010#issuecomment-1479613162

randychilau commented 1 year ago

Hi All,

Thanks to everyone who provided comments and experiences in troubleshooting the memory issues for both development and production builds. I wanted to add another data point to the discussion.

This open source project is using Gatsby v.4.25.4, and the desire was to move to gatsby-plugin-mdx v4 (and MDX v2) to resolve app bundle bloat issue and bring down the page weight. Before attempting MDX v2 migration, the site had no apparent memory issues on Gatsby v.4.25.4.

After making all the migration changes, the production builds kept resulting in OOM heap memory errors during the Building HTML renderer step as described by @FraserThompson, @nkuehn, and others.


What worked for me regarding the Production Build (so far?)

As many noted, I was able to successfully execute a production build, by adding memory to the process with the command:NODE_OPTIONS=--max_old_space_size=4096 gatsby build. I preferred not to use this workaround.

I tried many suggestions, and the only thing that worked for me was @nkuehn's gatsby-ssr workaround.

"my current hack is to import the template components that are used in many pages into gatsby-ssr.js".

I imported everything used as a shortcode and the template files. I declared an array variable that included all of them. The project is open source and you can see the file itself here, if not, it is here in the dropdown.

gatsby-ssr.js ``` import CTA_ImageOnly from "./src/components/Call-To-Actions/CTA_ImageOnly"; import CTA_FullWidth from "./src/components/Call-To-Actions/CTA_FullWidth"; import CTA_Bottom from "./src/components/Call-To-Actions/CTA_Bottom"; import FAQ from "./src/sections/General/Faq"; import { Link } from "gatsby"; import { BlogWrapper } from "./src/collections/blog/Blog.style.js"; import { CareerWrapper } from "./src/collections/careers/Career.style.js"; import { BookWrapper } from "./src/collections/service-mesh-books/Book.style.js"; import { NewsWrapper } from "./src/collections/news/News.style.js"; import { ProjectWrapper } from "./src/collections/projects/Project.style.js"; import { ResourcesWrapper } from "./src/collections/resources/Resources.style.js"; import { ProgramsWrapper } from "./src/collections/programs/Programs.style.js"; import { ChapterStyle } from "./src/components/Learn-Components/Chapters-Style/chapters.style.js"; import { Col } from "./src/reusecore/Layout"; import Button from "./src/reusecore/Button"; import Blockquote from "./src/reusecore/Blockquote"; import BlockquoteAlt from "./src/reusecore/Blockquote/Blockquote-alt-style"; import blogPostTemplate from "./src/templates/blog-single.js"; import blogCategoryListTemplate from "./src/templates/blog-category-list.js"; import blogTagListTemplate from "./src/templates/blog-tag-list.js"; import EventsTemplate from "./src/templates/events.js"; import EventTemplate from "./src/templates/event-single.js"; import NewsPostTemplate from "./src/templates/news-single.js"; import BookPostTemplate from "./src/templates/book-single.js"; import ProgramPostTemplate from "./src/templates/program-single.js"; import MultiProgramPostTemplate from "./src/templates/program-multiple.js"; import CareerPostTemplate from "./src/templates/career-single.js"; import MemberTemplate from "./src/templates/member-single.js"; import MemberBioTemplate from "./src/templates/executive-bio.js"; import WorkshopTemplate from "./src/templates/workshop-single.js"; import LabTemplate from "./src/templates/lab-single.js"; import resourcePostTemplate from "./src/templates/resource-single.js"; import integrationTemplate from "./src/templates/integrations.js"; import sectionTemplate from "./src/sections/Learn-Layer5/Section/index.js"; import chapterTemplate from "./src/templates/learn-chapter.js"; import courseOverviewTemplate from "./src/templates/course-overview.js"; import courseListTemplate from "./src/templates/courses-list.js"; // // import from "./src/sections/Careers/Careers-Programs-grid/index.js"" // ); //workaround to resolve build heap OOM error due to mdxv2 upgrade (ref: https://github.com/gatsbyjs/gatsby/issues/36899#issuecomment-1422616312), revisit with upgrade to gatsby v5 and gatsby-plugin-mdx if still applicable // eslint-disable-next-line no-unused-vars const MDXComponents = [ Col, FAQ, Link, Button, Blockquote, BlockquoteAlt, BlogWrapper, BookWrapper, ChapterStyle, CareerWrapper, NewsWrapper, ProgramsWrapper, ProjectWrapper, ResourcesWrapper, CTA_ImageOnly, CTA_FullWidth, CTA_Bottom, blogPostTemplate, blogCategoryListTemplate, blogTagListTemplate, EventsTemplate, EventTemplate, NewsPostTemplate, BookPostTemplate, ProgramPostTemplate, MultiProgramPostTemplate, CareerPostTemplate, MemberTemplate, MemberBioTemplate, WorkshopTemplate, LabTemplate, resourcePostTemplate, integrationTemplate, sectionTemplate, chapterTemplate, courseOverviewTemplate, courseListTemplate ]; export { onRenderBody } from "./onRenderBody"; export { wrapRootElement } from "./root-wrapper"; export { wrapPageElement } from "./page-wrapper"; ```

build logs:

Cold production build - gatsby-plugin-mdx v3 | MDX v1 - any heap memory usage over 1.5MB is logged: Success (Done building in 978.840267548 sec) ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "build" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/build.js verbose running command: build verbose Running build in "production" environment success compile gatsby files - 1.799s info The following flags are active: - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. There are 2 other flags available that you might be interested in: - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.158s success load plugins - 5.027s success onPreInit - 0.020s success initialize cache - 0.174s success copy gatsby files - 1.583s success Compiling Gatsby Functions - 1.502s success onPreBootstrap - 1.722s verbose Creating 1 worker success createSchemaCustomization - 0.024s verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.023s success source and transform nodes - 48.239s info Writing GraphQL type definitions to /Users/------/Documents/GitHub/layer5/.cache/schema.gql success building schema - 1.006s success create redirects success createPages - 1.348s success createPagesStatefully - 1.138s info Total nodes: 6904, SitePage nodes: 808 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1561, File: 2763, ImageSharp: 1028, Mdx: 680, Site: 1, SiteBuildMetadata: 1, SitePage: 808, SitePlugin: 62 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 808 changed pages success Checking for changed pages - 0.044s success onPreExtractQueries - 0.001s success extract queries from components - 14.843s success write out redirect data - 0.046s success Build manifest and related icons - 0.950s success onPostBootstrap - 1.151s info bootstrap finished - 88.619s success write out requires - 0.031s warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) ERROR [BABEL] Note: The code generator has deoptimised the styling of /Users/------/ Documents/GitHub/layer5/src/sections/Company/About/images/layer5-projects.svg as it exceeds the max of 500KB. ERROR [BABEL] Note: The code generator has deoptimised the styling of undefined as it exceeds the max of 500KB. warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building production JavaScript and CSS bundles - 260.391s ERROR [BABEL] Note: The code generator has deoptimised the styling of /Users/------/ Documents/GitHub/layer5/src/sections/Company/About/images/layer5-projects.svg as it exceeds the max of 500KB. ERROR [BABEL] Note: The code generator has deoptimised the styling of undefined as it exceeds the max of 500KB. success Building HTML renderer - 227.578s success Execute page configs - 0.598s success Caching Webpack compilations - 0.032s warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Blog/Blog-single/index.js warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Community/Member s-grid/DataWrapper.js warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Resources/Resour ce-single/index.js warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Resources/Resour ces-grid/DataWrapper.js success run queries in workers - 127.077s - 839/839 6.60/s success Running gatsby-plugin-sharp.IMAGE_PROCESSING jobs - 741.233s - 881/881 1.19/s success Merge worker state - 0.042s success Rewriting compilation hashes - 0.012s success Writing page-data.json files to public directory - 1.788s - 808/808 451.79/s success Building static HTML for pages - 39.762s - 808/808 20.32/s verbose [gatsby-plugin-sitemap]: Filtering 808 pages based on 0 excludes verbose [gatsby-plugin-sitemap]: Default filter excluded page /404 verbose [gatsby-plugin-sitemap]: Default filter excluded page /404.html verbose [gatsby-plugin-sitemap]: 806 pages remain after filtering warn gatsby-plugin-mdx [object Object] warn gatsby-plugin-mdx [object Object] warn gatsby-plugin-mdx [object Object] warn gatsby-plugin-mdx [object Object] warn gatsby-plugin-mdx [object Object] warn gatsby-plugin-mdx [object Object] success onPostBuild - 107.390s Pages ┌ src/templates/events.js │... info Done building in 978.840267548 sec ```
Cold production build - gatsby-plugin-mdx v4 | MDX v2 - no gatsby-ssr.js workaround - any heap memory usage over 1.5MB is logged: Heap Memory Error ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "build" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/build.js verbose running command: build verbose Running build in "production" environment success compile gatsby files - 2.243s info The following flags are active: - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. There are 2 other flags available that you might be interested in: - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.350s success load plugins - 3.445s success onPreInit - 0.027s success initialize cache - 0.269s success copy gatsby files - 1.047s success Compiling Gatsby Functions - 1.405s success onPreBootstrap - 1.548s verbose Creating 1 worker success createSchemaCustomization - 0.017s verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.152s success source and transform nodes - 26.744s info Writing GraphQL type definitions to /Users/------/Documents/GitHub/layer5/.cache/schema.gql success building schema - 1.578s success create redirects success createPages - 14.948s success createPagesStatefully - 0.718s info Total nodes: 6823, SitePage nodes: 807 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1557, File: 2758, ImageSharp: 1027, Mdx: 678, Site: 1, SiteBuildMetadata: 1, SitePage: 736, SitePlugin: 65 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 807 changed pages success Checking for changed pages - 0.004s success onPreExtractQueries - 0.001s success extract queries from components - 17.014s success write out redirect data - 0.032s success Build manifest and related icons - 0.625s success onPostBootstrap - 0.636s info bootstrap finished - 83.660s success write out requires - 0.257s warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building production JavaScript and CSS bundles - 385.261s cpu: 38.1% | rss: 1.4 GB (16.4%) | heap: 1.5 GB / 1.6 GB (96.2%) | ext: 475 MB | delay: 992 ms | 00:09:24 | loadavg: 9.09, 8.94, 10.70 cpu: 93.8% | rss: 1.1 GB (12.3%) | heap: 1.5 GB / 1.6 GB (96.1%) | ext: 527 MB | delay: 981 ms | 00:10:20 | loadavg: 10.78, 9.45, 10.78 cpu: 102.3% | rss: 1.1 GB (12.3%) | heap: 1.5 GB / 1.6 GB (95.5%) | ext: 528 MB | delay: 1151 ms | 00:10:21 | loadavg: 10.78, 9.45, 10.78 cpu: 81.4% | rss: 1.0 GB (11.7%) | heap: 1.6 GB / 1.6 GB (95.9%) | ext: 529 MB | delay: 935 ms | 00:10:23 | loadavg: 10.24, 9.36, 10.74 cpu: 92.9% | rss: 1.2 GB (13.5%) | heap: 1.6 GB / 1.7 GB (96.1%) | ext: 538 MB | delay: 940 ms | 00:10:25 | loadavg: 10.24, 9.36, 10.74 cpu: 84.5% | rss: 1.6 GB (18.2%) | heap: 1.5 GB / 1.6 GB (96.3%) | ext: 558 MB | delay: 992 ms | 00:11:23 | loadavg: 10.72, 9.74, 10.80 cpu: 82.1% | rss: 1.5 GB (17.8%) | heap: 1.5 GB / 1.6 GB (96.1%) | ext: 558 MB | delay: 816 ms | 00:11:24 | loadavg: 10.42, 9.70, 10.78 cpu: 65.1% | rss: 1.4 GB (16.7%) | heap: 1.5 GB / 1.6 GB (96.3%) | ext: 559 MB | delay: 519 ms | 00:11:27 | loadavg: 10.42, 9.70, 10.78 cpu: 74.9% | rss: 1.4 GB (16.6%) | heap: 1.6 GB / 1.7 GB (96.6%) | ext: 560 MB | delay: 487 ms | 00:11:31 | loadavg: 10.23, 9.67, 10.76 cpu: 77.0% | rss: 1.4 GB (16.8%) | heap: 1.6 GB / 1.7 GB (96.5%) | ext: 560 MB | delay: 1184 ms | 00:11:32 | loadavg: 10.23, 9.67, 10.76 cpu: 73.8% | rss: 1.4 GB (15.8%) | heap: 1.7 GB / 1.7 GB (96.3%) | ext: 561 MB | delay: 1252 ms | 00:11:36 | loadavg: 9.89, 9.61, 10.73 cpu: 67.4% | rss: 1.3 GB (15.1%) | heap: 1.7 GB / 1.8 GB (95.9%) | ext: 562 MB | delay: 1618 ms | 00:11:37 | loadavg: 9.89, 9.61, 10.73 <--- Last few GCs ---> [73000:0x7f7b79300000] 813371 ms: Mark-Compact (reduce) 2036.3 (2083.9) -> 2035.2 (2084.2) MB, 5304.64 / 0.00 ms (average mu = 0.115, current mu = 0.012) allocation failure; scavenge might not succeed [73000:0x7f7b79300000] 818733 ms: Mark-Compact (reduce) 2036.3 (2084.2) -> 2035.4 (2084.4) MB, 5358.84 / 0.00 ms (average mu = 0.061, current mu = 0.000) allocation failure; scavenge might not succeed <--- JS stacktrace ---> FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 0x1080f6045 node::Abort() [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 2: 0x1080f6226 node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 3: 0x1082a1b4c v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 4: 0x108491887 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 5: 0x108495e57 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 6: 0x1084921a5 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 7: 0x10848fc40 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 8: 0x108484951 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 9: 0x108485395 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 10: 0x108467482 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 11: 0x1088e5070 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 12: 0x108cb6fb6 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/------/.nvm/versions/node/v20.3.1/bin/node] 13: 0x11a73ac6e ```
Cold production build - gatsby-plugin-mdx v4 | MDX v2 - with gatsby-ssr.js workaround - any heap memory usage over 1.5MB is logged: Success (Done building in 1035.176506423 sec) ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "build" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/build.js verbose running command: build verbose Running build in "production" environment success compile gatsby files - 1.246s info The following flags are active: - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. There are 2 other flags available that you might be interested in: - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.340s success load plugins - 3.979s success onPreInit - 0.041s success initialize cache - 0.503s success copy gatsby files - 1.361s success Compiling Gatsby Functions - 1.783s success onPreBootstrap - 1.984s verbose Creating 1 worker success createSchemaCustomization - 0.020s verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.073s success source and transform nodes - 23.155s info Writing GraphQL type definitions to /Users/------/Documents/GitHub/layer5/.cache/schema.gql success building schema - 1.722s success create redirects success createPages - 16.286s success createPagesStatefully - 0.706s info Total nodes: 6823, SitePage nodes: 807 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1557, File: 2758, ImageSharp: 1027, Mdx: 678, Site: 1, SiteBuildMetadata: 1, SitePage: 736, SitePlugin: 65 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 807 changed pages success Checking for changed pages - 0.001s success onPreExtractQueries - 0.001s success extract queries from components - 18.319s success write out redirect data - 0.006s success Build manifest and related icons - 0.360s success onPostBootstrap - 0.380s info bootstrap finished - 82.418s success write out requires - 0.071s warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building production JavaScript and CSS bundles - 458.000s cpu: 51.4% | rss: 1.4 GB (16.4%) | heap: 1.5 GB / 1.6 GB (95.9%) | ext: 508 MB | delay: 940 ms | 00:11:19 | loadavg: 12.21, 11.49, 10.07 cpu: 56.0% | rss: 1.4 GB (16.0%) | heap: 1.5 GB / 1.6 GB (96.2%) | ext: 511 MB | delay: 921 ms | 00:11:20 | loadavg: 12.21, 11.49, 10.07 cpu: 77.2% | rss: 1.4 GB (16.0%) | heap: 1.5 GB / 1.6 GB (95.9%) | ext: 512 MB | delay: 896 ms | 00:11:21 | loadavg: 12.21, 11.49, 10.07 cpu: 105.9% | rss: 1.5 GB (17.4%) | heap: 1.5 GB / 1.6 GB (95.8%) | ext: 512 MB | delay: 573 ms | 00:11:23 | loadavg: 13.56, 11.78, 10.18 cpu: 95.8% | rss: 1.6 GB (19.0%) | heap: 1.5 GB / 1.6 GB (95.8%) | ext: 533 MB | delay: 955 ms | 00:12:09 | loadavg: 10.39, 11.22, 10.06 cpu: 86.1% | rss: 1.6 GB (18.6%) | heap: 1.5 GB / 1.6 GB (95.6%) | ext: 534 MB | delay: 997 ms | 00:12:10 | loadavg: 10.39, 11.22, 10.06 cpu: 79.1% | rss: 1.6 GB (18.1%) | heap: 1.5 GB / 1.6 GB (96.2%) | ext: 535 MB | delay: 956 ms | 00:12:11 | loadavg: 10.39, 11.22, 10.06 cpu: 67.2% | rss: 1.6 GB (18.2%) | heap: 1.6 GB / 1.6 GB (96.4%) | ext: 536 MB | delay: 985 ms | 00:12:14 | loadavg: 11.00, 11.33, 10.10 cpu: 87.6% | rss: 1.6 GB (18.5%) | heap: 1.6 GB / 1.7 GB (95.8%) | ext: 549 MB | delay: 970 ms | 00:12:15 | loadavg: 11.00, 11.33, 10.10 cpu: 106.2% | rss: 1.6 GB (18.5%) | heap: 1.6 GB / 1.7 GB (96.5%) | ext: 550 MB | delay: 959 ms | 00:12:16 | loadavg: 11.00, 11.33, 10.10 cpu: 117.7% | rss: 1.7 GB (19.2%) | heap: 1.5 GB / 1.6 GB (95.7%) | ext: 561 MB | delay: 925 ms | 00:13:08 | loadavg: 8.47, 10.65, 9.93 cpu: 107.2% | rss: 1.7 GB (19.3%) | heap: 1.5 GB / 1.6 GB (96.0%) | ext: 561 MB | delay: 914 ms | 00:13:09 | loadavg: 8.47, 10.65, 9.93 cpu: 98.9% | rss: 1.7 GB (19.5%) | heap: 1.5 GB / 1.6 GB (95.7%) | ext: 562 MB | delay: 903 ms | 00:13:10 | loadavg: 8.47, 10.65, 9.93 cpu: 104.2% | rss: 1.7 GB (20.3%) | heap: 1.6 GB / 1.7 GB (96.1%) | ext: 565 MB | delay: 822 ms | 00:13:11 | loadavg: 8.47, 10.65, 9.93 cpu: 112.0% | rss: 1.8 GB (20.5%) | heap: 1.6 GB / 1.7 GB (96.0%) | ext: 567 MB | delay: 835 ms | 00:13:12 | loadavg: 8.47, 10.65, 9.93 cpu: 152.2% | rss: 2.0 GB (23.1%) | heap: 1.8 GB / 1.9 GB (96.4%) | ext: 578 MB | delay: 956 ms | 00:13:32 | loadavg: 7.69, 10.33, 9.83 cpu: 156.0% | rss: 2.0 GB (23.2%) | heap: 1.7 GB / 1.9 GB (88.4%) | ext: 578 MB | delay: 962 ms | 00:13:34 | loadavg: 8.27, 10.41, 9.86 cpu: 157.7% | rss: 2.0 GB (23.7%) | heap: 1.7 GB / 1.9 GB (89.1%) | ext: 604 MB | delay: 949 ms | 00:13:35 | loadavg: 8.27, 10.41, 9.86 cpu: 146.6% | rss: 2.1 GB (24.4%) | heap: 1.8 GB / 2.0 GB (90.1%) | ext: 628 MB | delay: 716 ms | 00:13:36 | loadavg: 8.27, 10.41, 9.86 cpu: 94.8% | rss: 2.1 GB (24.0%) | heap: 1.8 GB / 2.0 GB (90.6%) | ext: 635 MB | delay: 544 ms | 00:13:37 | loadavg: 8.27, 10.41, 9.86 cpu: 73.8% | rss: 2.1 GB (24.1%) | heap: 1.8 GB / 2.0 GB (90.7%) | ext: 635 MB | delay: 421 ms | 00:13:38 | loadavg: 8.97, 10.51, 9.90 cpu: 96.9% | rss: 2.1 GB (24.2%) | heap: 1.8 GB / 2.0 GB (90.6%) | ext: 635 MB | delay: 276 ms | 00:13:39 | loadavg: 8.97, 10.51, 9.90 cpu: 103.3% | rss: 2.1 GB (24.2%) | heap: 1.8 GB / 2.0 GB (90.5%) | ext: 635 MB | delay: 150 ms | 00:13:40 | loadavg: 8.97, 10.51, 9.90 cpu: 110.7% | rss: 2.1 GB (24.2%) | heap: 1.8 GB / 2.0 GB (90.6%) | ext: 635 MB | delay: 108 ms | 00:13:41 | loadavg: 8.97, 10.51, 9.90 cpu: 79.8% | rss: 2.1 GB (24.3%) | heap: 1.8 GB / 2.0 GB (90.8%) | ext: 635 MB | delay: 240 ms | 00:13:42 | loadavg: 8.97, 10.51, 9.90 cpu: 88.9% | rss: 2.1 GB (24.4%) | heap: 1.8 GB / 2.0 GB (91.1%) | ext: 635 MB | delay: 493 ms | 00:13:43 | loadavg: 9.69, 10.64, 9.95 cpu: 89.3% | rss: 2.1 GB (24.5%) | heap: 1.8 GB / 1.9 GB (92.1%) | ext: 635 MB | delay: 672 ms | 00:13:44 | loadavg: 9.69, 10.64, 9.95 cpu: 109.9% | rss: 2.1 GB (24.1%) | heap: 1.8 GB / 1.9 GB (92.1%) | ext: 635 MB | delay: 854 ms | 00:13:45 | loadavg: 9.69, 10.64, 9.95 cpu: 148.4% | rss: 2.1 GB (24.2%) | heap: 1.7 GB / 1.9 GB (90.6%) | ext: 635 MB | delay: 844 ms | 00:13:47 | loadavg: 9.69, 10.64, 9.95 cpu: 163.3% | rss: 2.0 GB (23.5%) | heap: 1.7 GB / 1.9 GB (90.6%) | ext: 635 MB | delay: 849 ms | 00:13:48 | loadavg: 9.64, 10.61, 9.94 cpu: 192.5% | rss: 2.0 GB (23.5%) | heap: 1.7 GB / 1.9 GB (90.7%) | ext: 635 MB | delay: 810 ms | 00:13:49 | loadavg: 9.64, 10.61, 9.94 cpu: 197.9% | rss: 2.0 GB (23.5%) | heap: 1.7 GB / 1.8 GB (93.5%) | ext: 635 MB | delay: 758 ms | 00:13:50 | loadavg: 9.64, 10.61, 9.94 cpu: 200.7% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (93.3%) | ext: 635 MB | delay: 692 ms | 00:13:51 | loadavg: 9.64, 10.61, 9.94 cpu: 201.6% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (93.6%) | ext: 635 MB | delay: 662 ms | 00:13:52 | loadavg: 9.64, 10.61, 9.94 cpu: 191.6% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (94.3%) | ext: 635 MB | delay: 728 ms | 00:13:54 | loadavg: 10.47, 10.77, 10.00 cpu: 194.4% | rss: 2.0 GB (22.7%) | heap: 1.7 GB / 1.8 GB (94.0%) | ext: 635 MB | delay: 692 ms | 00:13:55 | loadavg: 10.47, 10.77, 10.00 cpu: 164.8% | rss: 2.0 GB (22.8%) | heap: 1.7 GB / 1.8 GB (93.9%) | ext: 635 MB | delay: 550 ms | 00:13:56 | loadavg: 10.47, 10.77, 10.00 cpu: 112.3% | rss: 2.0 GB (22.8%) | heap: 1.7 GB / 1.8 GB (93.8%) | ext: 635 MB | delay: 237 ms | 00:13:57 | loadavg: 10.47, 10.77, 10.00 cpu: 84.7% | rss: 2.0 GB (23.0%) | heap: 1.7 GB / 1.8 GB (93.2%) | ext: 635 MB | delay: 159 ms | 00:13:58 | loadavg: 10.19, 10.70, 9.98 cpu: 98.6% | rss: 2.0 GB (23.0%) | heap: 1.7 GB / 1.8 GB (93.0%) | ext: 635 MB | delay: 133 ms | 00:13:59 | loadavg: 10.19, 10.70, 9.98 cpu: 117.7% | rss: 2.0 GB (23.0%) | heap: 1.7 GB / 1.8 GB (93.5%) | ext: 635 MB | delay: 51 ms | 00:14:00 | loadavg: 10.19, 10.70, 9.98 cpu: 117.6% | rss: 2.0 GB (23.0%) | heap: 1.7 GB / 1.8 GB (93.1%) | ext: 635 MB | delay: 55 ms | 00:14:01 | loadavg: 10.19, 10.70, 9.98 cpu: 107.6% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (93.2%) | ext: 635 MB | delay: 78 ms | 00:14:02 | loadavg: 10.19, 10.70, 9.98 cpu: 105.8% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (93.3%) | ext: 635 MB | delay: 79 ms | 00:14:03 | loadavg: 10.25, 10.71, 9.99 cpu: 116.7% | rss: 2.0 GB (22.9%) | heap: 1.7 GB / 1.8 GB (93.5%) | ext: 635 MB | delay: 34 ms | 00:14:04 | loadavg: 10.25, 10.71, 9.99 cpu: 117.1% | rss: 1.9 GB (21.8%) | heap: 1.7 GB / 1.8 GB (93.2%) | ext: 635 MB | delay: 16 ms | 00:14:05 | loadavg: 10.25, 10.71, 9.99 cpu: 116.1% | rss: 1.9 GB (21.8%) | heap: 1.7 GB / 1.8 GB (93.6%) | ext: 635 MB | delay: 38 ms | 00:14:06 | loadavg: 10.25, 10.71, 9.99 cpu: 87.7% | rss: 1.9 GB (21.6%) | heap: 1.7 GB / 1.9 GB (93.8%) | ext: 643 MB | delay: 342 ms | 00:14:08 | loadavg: 11.11, 10.88, 10.05 cpu: 145.1% | rss: 2.0 GB (23.1%) | heap: 1.9 GB / 2.0 GB (94.3%) | ext: 863 MB | delay: 68 ms | 00:14:25 | loadavg: 11.12, 10.90, 10.07 cpu: 141.1% | rss: 2.0 GB (22.9%) | heap: 1.9 GB / 2.0 GB (94.3%) | ext: 863 MB | delay: 922 ms | 00:14:26 | loadavg: 11.12, 10.90, 10.07 cpu: 145.5% | rss: 2.0 GB (23.8%) | heap: 1.9 GB / 2.0 GB (94.5%) | ext: 863 MB | delay: 903 ms | 00:14:27 | loadavg: 11.12, 10.90, 10.07 cpu: 80.3% | rss: 2.1 GB (24.8%) | heap: 1.9 GB / 2.0 GB (94.6%) | ext: 863 MB | delay: 5627 ms | 00:14:28 | loadavg: 10.55, 10.78, 10.04 cpu: 95.0% | rss: 2.1 GB (24.9%) | heap: 1.9 GB / 2.0 GB (94.5%) | ext: 867 MB | delay: 94 ms | 00:14:29 | loadavg: 10.55, 10.78, 10.04 cpu: 158.6% | rss: 2.6 GB (30.7%) | heap: 1.8 GB / 2.0 GB (90.9%) | ext: 1.1 GB | delay: 940 ms | 00:14:57 | loadavg: 10.59, 10.80, 10.06 cpu: 155.8% | rss: 2.5 GB (28.8%) | heap: 1.8 GB / 2.0 GB (90.9%) | ext: 1.1 GB | delay: 944 ms | 00:14:58 | loadavg: 9.90, 10.65, 10.02 cpu: 154.2% | rss: 2.2 GB (26.0%) | heap: 1.8 GB / 2.0 GB (90.9%) | ext: 1.1 GB | delay: 940 ms | 00:14:59 | loadavg: 9.90, 10.65, 10.02 cpu: 37.0% | rss: 2.2 GB (26.1%) | heap: 1.8 GB / 2.0 GB (90.9%) | ext: 1.1 GB | delay: 102 ms | 00:15:00 | loadavg: 9.90, 10.65, 10.02 cpu: 33.3% | rss: 2.3 GB (26.5%) | heap: 1.8 GB / 2.0 GB (90.9%) | ext: 1.1 GB | delay: 29 ms | 00:15:01 | loadavg: 9.90, 10.65, 10.02 success Building HTML renderer - 379.285s success Execute page configs - 0.656s success Caching Webpack compilations - 0.002s cpu: 41.7% | rss: 2.3 GB (27.3%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 207 ms | 00:15:03 | loadavg: 9.90, 10.65, 10.02 cpu: 32.0% | rss: 2.2 GB (25.2%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 208 ms | 00:15:04 | loadavg: 10.79, 10.82, 10.08 cpu: 25.0% | rss: 2.1 GB (24.5%) | heap: 1.8 GB / 2.0 GB (91.5%) | ext: 1.1 GB | delay: 212 ms | 00:15:05 | loadavg: 10.79, 10.82, 10.08 cpu: 2.4% | rss: 2.0 GB (22.8%) | heap: 1.8 GB / 2.0 GB (91.6%) | ext: 1.1 GB | delay: 25 ms | 00:15:06 | loadavg: 10.79, 10.82, 10.08 cpu: 41.0% | rss: 1.9 GB (22.5%) | heap: 1.8 GB / 2.0 GB (91.7%) | ext: 1.1 GB | delay: 16 ms | 00:15:07 | loadavg: 10.79, 10.82, 10.08 cpu: 103.2% | rss: 2.0 GB (23.8%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 11 ms | 00:15:08 | loadavg: 10.79, 10.82, 10.08 cpu: 130.2% | rss: 1.9 GB (22.2%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 17 ms | 00:15:09 | loadavg: 11.13, 10.89, 10.11 cpu: 119.5% | rss: 1.8 GB (20.4%) | heap: 1.8 GB / 2.0 GB (91.5%) | ext: 1.1 GB | delay: 35 ms | 00:15:10 | loadavg: 11.13, 10.89, 10.11 cpu: 80.8% | rss: 1.8 GB (20.5%) | heap: 1.8 GB / 2.0 GB (91.5%) | ext: 1.1 GB | delay: 33 ms | 00:15:11 | loadavg: 11.13, 10.89, 10.11 cpu: 90.8% | rss: 1.7 GB (20.3%) | heap: 1.8 GB / 2.0 GB (91.6%) | ext: 1.1 GB | delay: 23 ms | 00:15:12 | loadavg: 11.13, 10.89, 10.11 cpu: 92.9% | rss: 1.8 GB (20.5%) | heap: 1.8 GB / 2.0 GB (91.6%) | ext: 1.1 GB | delay: 9 ms | 00:15:13 | loadavg: 11.13, 10.89, 10.11 cpu: 118.4% | rss: 1.8 GB (21.0%) | heap: 1.8 GB / 2.0 GB (91.7%) | ext: 1.1 GB | delay: 13 ms | 00:15:14 | loadavg: 14.56, 11.61, 10.37 cpu: 125.2% | rss: 1.7 GB (20.1%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 11 ms | 00:15:15 | loadavg: 14.56, 11.61, 10.37 cpu: 129.9% | rss: 1.7 GB (19.5%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 18 ms | 00:15:16 | loadavg: 14.56, 11.61, 10.37 cpu: 134.0% | rss: 1.7 GB (19.3%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 18 ms | 00:15:17 | loadavg: 14.56, 11.61, 10.37 cpu: 132.3% | rss: 1.7 GB (19.7%) | heap: 1.8 GB / 2.0 GB (91.6%) | ext: 1.1 GB | delay: 33 ms | 00:15:18 | loadavg: 14.56, 11.61, 10.37 warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Blog/Blog-single/index.js cpu: 120.9% | rss: 1.6 GB (19.0%) | heap: 1.8 GB / 2.0 GB (91.6%) | ext: 1.1 GB | delay: 36 ms | 00:15:19 | loadavg: 14.12, 11.56, 10.36 cpu: 97.7% | rss: 1.6 GB (18.7%) | heap: 1.8 GB / 2.0 GB (91.7%) | ext: 1.1 GB | delay: 40 ms | 00:15:20 | loadavg: 14.12, 11.56, 10.36 cpu: 105.6% | rss: 1.5 GB (17.7%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 29 ms | 00:15:21 | loadavg: 14.12, 11.56, 10.36 cpu: 144.2% | rss: 1.5 GB (17.7%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 12 ms | 00:15:22 | loadavg: 14.12, 11.56, 10.36 cpu: 172.9% | rss: 1.5 GB (17.8%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 3 ms | 00:15:23 | loadavg: 14.12, 11.56, 10.36 cpu: 167.5% | rss: 1.5 GB (17.8%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 8 ms | 00:15:24 | loadavg: 13.55, 11.49, 10.34 cpu: 149.1% | rss: 1.5 GB (17.1%) | heap: 1.8 GB / 2.0 GB (91.7%) | ext: 1.1 GB | delay: 15 ms | 00:15:25 | loadavg: 13.55, 11.49, 10.34 cpu: 115.9% | rss: 1.4 GB (16.5%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 17 ms | 00:15:26 | loadavg: 13.55, 11.49, 10.34 cpu: 120.9% | rss: 1.4 GB (15.8%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 48 ms | 00:15:27 | loadavg: 13.55, 11.49, 10.34 cpu: 129.6% | rss: 1.4 GB (16.1%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 55 ms | 00:15:28 | loadavg: 13.55, 11.49, 10.34 cpu: 150.5% | rss: 1.4 GB (16.0%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 67 ms | 00:15:29 | loadavg: 13.50, 11.51, 10.35 cpu: 154.1% | rss: 1.4 GB (16.2%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 32 ms | 00:15:30 | loadavg: 13.50, 11.51, 10.35 cpu: 156.5% | rss: 1.4 GB (16.2%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 28 ms | 00:15:31 | loadavg: 13.50, 11.51, 10.35 cpu: 165.0% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (91.7%) | ext: 1.1 GB | delay: 31 ms | 00:15:32 | loadavg: 13.50, 11.51, 10.35 cpu: 162.1% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 62 ms | 00:15:33 | loadavg: 13.50, 11.51, 10.35 cpu: 159.5% | rss: 1.4 GB (16.4%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 63 ms | 00:15:34 | loadavg: 12.98, 11.44, 10.33 cpu: 153.0% | rss: 1.4 GB (16.8%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 48 ms | 00:15:35 | loadavg: 12.98, 11.44, 10.33 cpu: 164.7% | rss: 1.5 GB (17.0%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 13 ms | 00:15:36 | loadavg: 12.98, 11.44, 10.33 cpu: 171.4% | rss: 1.4 GB (16.6%) | heap: 1.8 GB / 2.0 GB (92.2%) | ext: 1.1 GB | delay: 27 ms | 00:15:37 | loadavg: 12.98, 11.44, 10.33 cpu: 182.0% | rss: 1.4 GB (16.4%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 28 ms | 00:15:38 | loadavg: 12.98, 11.44, 10.33 cpu: 171.5% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 43 ms | 00:15:39 | loadavg: 12.50, 11.36, 10.31 cpu: 170.7% | rss: 1.4 GB (16.7%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 31 ms | 00:15:40 | loadavg: 12.50, 11.36, 10.31 success run queries in workers - 37.751s - 838/838 22.20/s cpu: 154.7% | rss: 1.4 GB (16.2%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 35 ms | 00:15:41 | loadavg: 12.50, 11.36, 10.31 cpu: 161.3% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 21 ms | 00:15:42 | loadavg: 12.50, 11.36, 10.31 cpu: 168.2% | rss: 1.4 GB (16.2%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 7 ms | 00:15:43 | loadavg: 12.50, 11.36, 10.31 cpu: 161.0% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (92.4%) | ext: 1.1 GB | delay: 3 ms | 00:15:44 | loadavg: 11.90, 11.26, 10.28 cpu: 156.8% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 20 ms | 00:15:45 | loadavg: 11.90, 11.26, 10.28 cpu: 149.3% | rss: 1.4 GB (16.5%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 20 ms | 00:15:46 | loadavg: 11.90, 11.26, 10.28 cpu: 173.4% | rss: 1.4 GB (16.2%) | heap: 1.8 GB / 2.0 GB (92.2%) | ext: 1.1 GB | delay: 16 ms | 00:15:47 | loadavg: 11.90, 11.26, 10.28 cpu: 176.1% | rss: 1.4 GB (16.3%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 2 ms | 00:15:48 | loadavg: 11.90, 11.26, 10.28 cpu: 173.9% | rss: 1.5 GB (17.0%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 3 ms | 00:15:49 | loadavg: 11.51, 11.19, 10.26 cpu: 140.7% | rss: 1.2 GB (14.4%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 142 ms | 00:15:50 | loadavg: 11.51, 11.19, 10.26 cpu: 115.7% | rss: 977 MB (11.4%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 187 ms | 00:15:51 | loadavg: 11.51, 11.19, 10.26 cpu: 121.1% | rss: 862 MB (10.0%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 197 ms | 00:15:52 | loadavg: 11.51, 11.19, 10.26 cpu: 159.8% | rss: 880 MB (10.2%) | heap: 1.8 GB / 2.0 GB (91.9%) | ext: 1.1 GB | delay: 59 ms | 00:15:53 | loadavg: 11.51, 11.19, 10.26 cpu: 181.5% | rss: 571 MB (6.6%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 13 ms | 00:15:54 | loadavg: 10.67, 11.02, 10.21 cpu: 178.1% | rss: 584 MB (6.8%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 2 ms | 00:15:55 | loadavg: 10.67, 11.02, 10.21 cpu: 174.3% | rss: 599 MB (7.0%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 3 ms | 00:15:56 | loadavg: 10.67, 11.02, 10.21 cpu: 175.7% | rss: 575 MB (6.7%) | heap: 1.8 GB / 2.0 GB (92.4%) | ext: 1.1 GB | delay: 1 ms | 00:15:57 | loadavg: 10.67, 11.02, 10.21 cpu: 173.9% | rss: 584 MB (6.8%) | heap: 1.8 GB / 2.0 GB (91.8%) | ext: 1.1 GB | delay: 1 ms | 00:15:58 | loadavg: 10.67, 11.02, 10.21 cpu: 168.6% | rss: 571 MB (6.6%) | heap: 1.8 GB / 2.0 GB (92.0%) | ext: 1.1 GB | delay: 0 ms | 00:15:59 | loadavg: 10.45, 10.97, 10.19 cpu: 178.7% | rss: 597 MB (6.9%) | heap: 1.8 GB / 2.0 GB (92.1%) | ext: 1.1 GB | delay: 3 ms | 00:16:00 | loadavg: 10.45, 10.97, 10.19 cpu: 189.8% | rss: 615 MB (7.2%) | heap: 1.8 GB / 2.0 GB (92.2%) | ext: 1.1 GB | delay: 7 ms | 00:16:01 | loadavg: 10.45, 10.97, 10.19 cpu: 205.7% | rss: 682 MB (7.9%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 9 ms | 00:16:02 | loadavg: 10.45, 10.97, 10.19 cpu: 211.5% | rss: 636 MB (7.4%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 7 ms | 00:16:03 | loadavg: 10.45, 10.97, 10.19 cpu: 184.0% | rss: 573 MB (6.7%) | heap: 1.8 GB / 2.0 GB (92.3%) | ext: 1.1 GB | delay: 4 ms | 00:16:04 | loadavg: 10.50, 10.97, 10.20 cpu: 137.4% | rss: 601 MB (7.0%) | heap: 1.8 GB / 2.0 GB (92.4%) | ext: 1.1 GB | delay: 43 ms | 00:16:05 | loadavg: 10.50, 10.97, 10.20 cpu: 113.1% | rss: 601 MB (7.0%) | heap: 1.8 GB / 2.0 GB (92.4%) | ext: 1.1 GB | delay: 41 ms | 00:16:06 | loadavg: 10.50, 10.97, 10.20 cpu: 99.0% | rss: 499 MB (5.8%) | heap: 1.8 GB / 2.0 GB (92.4%) | ext: 1.1 GB | delay: 52 ms | 00:16:07 | loadavg: 10.50, 10.97, 10.20 cpu: 103.1% | rss: 448 MB (5.2%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 14 ms | 00:16:08 | loadavg: 10.50, 10.97, 10.20 cpu: 70.6% | rss: 410 MB (4.8%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 24 ms | 00:16:09 | loadavg: 13.74, 11.63, 10.44 cpu: 94.5% | rss: 461 MB (5.4%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 16 ms | 00:16:10 | loadavg: 13.74, 11.63, 10.44 cpu: 87.3% | rss: 402 MB (4.7%) | heap: 1.9 GB / 2.0 GB (92.5%) | ext: 1.1 GB | delay: 12 ms | 00:16:11 | loadavg: 13.74, 11.63, 10.44 cpu: 123.0% | rss: 504 MB (5.9%) | heap: 1.9 GB / 2.0 GB (92.6%) | ext: 1.1 GB | delay: 3 ms | 00:16:12 | loadavg: 13.74, 11.63, 10.44 cpu: 125.9% | rss: 373 MB (4.3%) | heap: 1.9 GB / 2.0 GB (92.6%) | ext: 1.1 GB | delay: 5 ms | 00:16:13 | loadavg: 13.74, 11.63, 10.44 cpu: 168.6% | rss: 345 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:16:14 | loadavg: 12.96, 11.50, 10.40 cpu: 165.9% | rss: 336 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 13 ms | 00:16:15 | loadavg: 12.96, 11.50, 10.40 cpu: 153.5% | rss: 342 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 7 ms | 00:16:16 | loadavg: 12.96, 11.50, 10.40 cpu: 133.4% | rss: 322 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 2 ms | 00:16:17 | loadavg: 12.96, 11.50, 10.40 cpu: 140.8% | rss: 348 MB (4.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:16:18 | loadavg: 12.96, 11.50, 10.40 cpu: 145.8% | rss: 321 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:16:19 | loadavg: 13.20, 11.58, 10.43 cpu: 153.0% | rss: 338 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:16:20 | loadavg: 13.20, 11.58, 10.43 cpu: 157.7% | rss: 323 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:16:21 | loadavg: 13.20, 11.58, 10.43 cpu: 176.6% | rss: 324 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:16:22 | loadavg: 13.20, 11.58, 10.43 cpu: 185.4% | rss: 326 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 4 ms | 00:16:23 | loadavg: 13.20, 11.58, 10.43 cpu: 185.6% | rss: 328 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 2 ms | 00:16:24 | loadavg: 13.03, 11.57, 10.44 cpu: 185.5% | rss: 332 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 2 ms | 00:16:25 | loadavg: 13.03, 11.57, 10.44 cpu: 182.2% | rss: 466 MB (5.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:16:26 | loadavg: 13.03, 11.57, 10.44 cpu: 183.0% | rss: 354 MB (4.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:16:27 | loadavg: 13.03, 11.57, 10.44 cpu: 190.7% | rss: 306 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:16:28 | loadavg: 13.03, 11.57, 10.44 cpu: 209.8% | rss: 311 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 18 ms | 00:16:29 | loadavg: 12.46, 11.48, 10.41 cpu: 217.8% | rss: 324 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 16 ms | 00:16:30 | loadavg: 12.46, 11.48, 10.41 cpu: 225.8% | rss: 336 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 9 ms | 00:16:31 | loadavg: 12.46, 11.48, 10.41 cpu: 212.4% | rss: 307 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 1 ms | 00:16:32 | loadavg: 12.46, 11.48, 10.41 cpu: 210.8% | rss: 308 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 34 ms | 00:16:33 | loadavg: 12.46, 11.48, 10.41 cpu: 179.5% | rss: 312 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 39 ms | 00:16:34 | loadavg: 11.62, 11.32, 10.36 cpu: 174.0% | rss: 314 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 37 ms | 00:16:35 | loadavg: 11.62, 11.32, 10.36 cpu: 178.4% | rss: 323 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 21 ms | 00:16:36 | loadavg: 11.62, 11.32, 10.36 cpu: 179.7% | rss: 313 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 27 ms | 00:16:37 | loadavg: 11.62, 11.32, 10.36 cpu: 182.0% | rss: 315 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 40 ms | 00:16:38 | loadavg: 11.62, 11.32, 10.36 cpu: 181.7% | rss: 311 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 29 ms | 00:16:39 | loadavg: 11.01, 11.20, 10.32 cpu: 196.2% | rss: 439 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 27 ms | 00:16:40 | loadavg: 11.01, 11.20, 10.32 cpu: 183.3% | rss: 546 MB (6.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 26 ms | 00:16:41 | loadavg: 11.01, 11.20, 10.32 cpu: 163.4% | rss: 465 MB (5.4%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 32 ms | 00:16:42 | loadavg: 11.01, 11.20, 10.32 cpu: 156.6% | rss: 379 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 25 ms | 00:16:43 | loadavg: 11.01, 11.20, 10.32 cpu: 159.1% | rss: 297 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 27 ms | 00:16:44 | loadavg: 12.29, 11.46, 10.42 cpu: 157.5% | rss: 305 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 45 ms | 00:16:45 | loadavg: 12.29, 11.46, 10.42 cpu: 146.6% | rss: 299 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 43 ms | 00:16:46 | loadavg: 12.29, 11.46, 10.42 cpu: 146.0% | rss: 305 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 30 ms | 00:16:47 | loadavg: 12.29, 11.46, 10.42 cpu: 171.1% | rss: 295 MB (3.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 3 ms | 00:16:48 | loadavg: 12.29, 11.46, 10.42 cpu: 175.1% | rss: 297 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 24 ms | 00:16:49 | loadavg: 11.55, 11.32, 10.38 cpu: 178.3% | rss: 312 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 28 ms | 00:16:50 | loadavg: 11.55, 11.32, 10.38 cpu: 166.0% | rss: 301 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 29 ms | 00:16:51 | loadavg: 11.55, 11.32, 10.38 cpu: 170.6% | rss: 304 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 18 ms | 00:16:52 | loadavg: 11.55, 11.32, 10.38 cpu: 174.7% | rss: 298 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 28 ms | 00:16:53 | loadavg: 11.55, 11.32, 10.38 cpu: 180.9% | rss: 317 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 25 ms | 00:16:54 | loadavg: 10.94, 11.20, 10.34 cpu: 180.2% | rss: 327 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 15 ms | 00:16:55 | loadavg: 10.94, 11.20, 10.34 cpu: 203.9% | rss: 381 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 7 ms | 00:16:56 | loadavg: 10.94, 11.20, 10.34 cpu: 181.6% | rss: 314 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 9 ms | 00:16:57 | loadavg: 10.94, 11.20, 10.34 cpu: 178.5% | rss: 367 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 17 ms | 00:16:58 | loadavg: 10.94, 11.20, 10.34 cpu: 147.0% | rss: 419 MB (4.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:16:59 | loadavg: 10.31, 11.06, 10.29 cpu: 170.1% | rss: 412 MB (4.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 21 ms | 00:17:00 | loadavg: 10.31, 11.06, 10.29 cpu: 176.5% | rss: 321 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 13 ms | 00:17:01 | loadavg: 10.31, 11.06, 10.29 cpu: 179.7% | rss: 324 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:17:02 | loadavg: 10.31, 11.06, 10.29 cpu: 163.3% | rss: 316 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:17:03 | loadavg: 10.31, 11.06, 10.29 cpu: 164.4% | rss: 338 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:04 | loadavg: 11.24, 11.24, 10.36 cpu: 171.2% | rss: 313 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:17:05 | loadavg: 11.24, 11.24, 10.36 cpu: 194.0% | rss: 356 MB (4.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:17:06 | loadavg: 11.24, 11.24, 10.36 cpu: 202.1% | rss: 328 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:17:07 | loadavg: 11.24, 11.24, 10.36 cpu: 206.8% | rss: 319 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 7 ms | 00:17:08 | loadavg: 11.24, 11.24, 10.36 cpu: 187.6% | rss: 312 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 22 ms | 00:17:09 | loadavg: 13.63, 11.73, 10.54 cpu: 178.2% | rss: 319 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 22 ms | 00:17:10 | loadavg: 13.63, 11.73, 10.54 cpu: 177.6% | rss: 316 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 18 ms | 00:17:11 | loadavg: 13.63, 11.73, 10.54 cpu: 204.0% | rss: 376 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 5 ms | 00:17:12 | loadavg: 13.63, 11.73, 10.54 cpu: 231.8% | rss: 432 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 5 ms | 00:17:13 | loadavg: 13.63, 11.73, 10.54 cpu: 202.6% | rss: 365 MB (4.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 7 ms | 00:17:14 | loadavg: 12.86, 11.61, 10.50 cpu: 207.4% | rss: 381 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 6 ms | 00:17:15 | loadavg: 12.86, 11.61, 10.50 cpu: 176.2% | rss: 321 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:17:16 | loadavg: 12.86, 11.61, 10.50 cpu: 207.6% | rss: 316 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 13 ms | 00:17:17 | loadavg: 12.86, 11.61, 10.50 cpu: 194.7% | rss: 320 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 14 ms | 00:17:18 | loadavg: 12.86, 11.61, 10.50 cpu: 225.5% | rss: 535 MB (6.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:17:19 | loadavg: 12.23, 11.50, 10.47 cpu: 218.9% | rss: 404 MB (4.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 15 ms | 00:17:20 | loadavg: 12.23, 11.50, 10.47 cpu: 201.4% | rss: 339 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 16 ms | 00:17:21 | loadavg: 12.23, 11.50, 10.47 cpu: 182.4% | rss: 316 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 16 ms | 00:17:22 | loadavg: 12.23, 11.50, 10.47 cpu: 191.9% | rss: 320 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 12 ms | 00:17:23 | loadavg: 12.23, 11.50, 10.47 cpu: 201.7% | rss: 328 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 11 ms | 00:17:24 | loadavg: 12.37, 11.54, 10.49 cpu: 207.6% | rss: 409 MB (4.8%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 13 ms | 00:17:25 | loadavg: 12.37, 11.54, 10.49 cpu: 194.6% | rss: 317 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:17:26 | loadavg: 12.37, 11.54, 10.49 cpu: 176.7% | rss: 426 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:27 | loadavg: 12.37, 11.54, 10.49 cpu: 172.6% | rss: 383 MB (4.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:17:28 | loadavg: 12.37, 11.54, 10.49 cpu: 147.5% | rss: 364 MB (4.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:29 | loadavg: 12.10, 11.50, 10.48 cpu: 156.4% | rss: 423 MB (4.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:30 | loadavg: 12.10, 11.50, 10.48 cpu: 124.4% | rss: 366 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:17:31 | loadavg: 12.10, 11.50, 10.48 cpu: 156.2% | rss: 377 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 8 ms | 00:17:32 | loadavg: 12.10, 11.50, 10.48 cpu: 145.3% | rss: 328 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 12 ms | 00:17:33 | loadavg: 12.10, 11.50, 10.48 cpu: 155.6% | rss: 309 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 9 ms | 00:17:34 | loadavg: 11.53, 11.39, 10.45 cpu: 145.2% | rss: 305 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 6 ms | 00:17:35 | loadavg: 11.53, 11.39, 10.45 cpu: 157.0% | rss: 326 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 2 ms | 00:17:36 | loadavg: 11.53, 11.39, 10.45 cpu: 165.1% | rss: 335 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:17:37 | loadavg: 11.53, 11.39, 10.45 cpu: 164.7% | rss: 319 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:17:38 | loadavg: 11.53, 11.39, 10.45 cpu: 155.2% | rss: 333 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:17:39 | loadavg: 12.05, 11.50, 10.49 cpu: 150.6% | rss: 336 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 1 ms | 00:17:40 | loadavg: 12.05, 11.50, 10.49 cpu: 150.0% | rss: 320 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:41 | loadavg: 12.05, 11.50, 10.49 cpu: 157.9% | rss: 308 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 3 ms | 00:17:42 | loadavg: 12.05, 11.50, 10.49 cpu: 162.9% | rss: 314 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:43 | loadavg: 12.05, 11.50, 10.49 cpu: 157.3% | rss: 307 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 6 ms | 00:17:44 | loadavg: 11.96, 11.49, 10.50 cpu: 158.8% | rss: 337 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 4 ms | 00:17:45 | loadavg: 11.96, 11.49, 10.50 cpu: 169.8% | rss: 356 MB (4.1%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 6 ms | 00:17:46 | loadavg: 11.96, 11.49, 10.50 cpu: 181.0% | rss: 294 MB (3.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 1 ms | 00:17:47 | loadavg: 11.96, 11.49, 10.50 cpu: 172.1% | rss: 302 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 25 ms | 00:17:48 | loadavg: 11.96, 11.49, 10.50 cpu: 167.4% | rss: 279 MB (3.3%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 23 ms | 00:17:49 | loadavg: 11.81, 11.46, 10.49 cpu: 166.8% | rss: 307 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 27 ms | 00:17:50 | loadavg: 11.81, 11.46, 10.49 cpu: 175.0% | rss: 297 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.2%) | ext: 1.1 GB | delay: 4 ms | 00:17:51 | loadavg: 11.81, 11.46, 10.49 cpu: 170.4% | rss: 410 MB (4.8%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 19 ms | 00:17:52 | loadavg: 11.81, 11.46, 10.49 cpu: 176.6% | rss: 381 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 28 ms | 00:17:53 | loadavg: 11.81, 11.46, 10.49 cpu: 173.7% | rss: 343 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 30 ms | 00:17:54 | loadavg: 11.34, 11.37, 10.47 cpu: 190.3% | rss: 324 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 15 ms | 00:17:55 | loadavg: 11.34, 11.37, 10.47 cpu: 183.3% | rss: 272 MB (3.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 2 ms | 00:17:56 | loadavg: 11.34, 11.37, 10.47 cpu: 184.4% | rss: 373 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:57 | loadavg: 11.34, 11.37, 10.47 cpu: 156.4% | rss: 435 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:17:58 | loadavg: 11.34, 11.37, 10.47 cpu: 150.1% | rss: 304 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 9 ms | 00:17:59 | loadavg: 11.07, 11.32, 10.45 cpu: 147.5% | rss: 312 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 24 ms | 00:18:00 | loadavg: 11.07, 11.32, 10.45 cpu: 146.6% | rss: 339 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 26 ms | 00:18:01 | loadavg: 11.07, 11.32, 10.45 cpu: 145.5% | rss: 319 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 25 ms | 00:18:02 | loadavg: 11.07, 11.32, 10.45 cpu: 137.3% | rss: 256 MB (3.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:18:03 | loadavg: 11.07, 11.32, 10.45 cpu: 156.5% | rss: 249 MB (2.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:18:04 | loadavg: 10.43, 11.18, 10.41 cpu: 163.3% | rss: 339 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:18:05 | loadavg: 10.43, 11.18, 10.41 cpu: 192.3% | rss: 430 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:18:06 | loadavg: 10.43, 11.18, 10.41 cpu: 197.7% | rss: 439 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:18:07 | loadavg: 10.43, 11.18, 10.41 cpu: 208.1% | rss: 441 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:18:08 | loadavg: 10.43, 11.18, 10.41 cpu: 199.4% | rss: 453 MB (5.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 4 ms | 00:18:09 | loadavg: 10.55, 11.19, 10.42 cpu: 183.4% | rss: 461 MB (5.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 4 ms | 00:18:10 | loadavg: 10.55, 11.19, 10.42 cpu: 172.0% | rss: 409 MB (4.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 7 ms | 00:18:11 | loadavg: 10.55, 11.19, 10.42 cpu: 132.7% | rss: 403 MB (4.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 27 ms | 00:18:12 | loadavg: 10.55, 11.19, 10.42 cpu: 114.2% | rss: 371 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 36 ms | 00:18:13 | loadavg: 10.55, 11.19, 10.42 cpu: 71.6% | rss: 348 MB (4.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 50 ms | 00:18:14 | loadavg: 13.79, 11.85, 10.66 cpu: 61.3% | rss: 292 MB (3.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 27 ms | 00:18:15 | loadavg: 13.79, 11.85, 10.66 cpu: 60.3% | rss: 302 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 29 ms | 00:18:16 | loadavg: 13.79, 11.85, 10.66 cpu: 89.9% | rss: 366 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 16 ms | 00:18:17 | loadavg: 13.79, 11.85, 10.66 cpu: 96.5% | rss: 382 MB (4.4%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 32 ms | 00:18:18 | loadavg: 13.79, 11.85, 10.66 cpu: 99.2% | rss: 419 MB (4.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 31 ms | 00:18:19 | loadavg: 17.57, 12.67, 10.95 cpu: 92.9% | rss: 423 MB (4.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 28 ms | 00:18:20 | loadavg: 17.57, 12.67, 10.95 cpu: 107.5% | rss: 426 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 10 ms | 00:18:21 | loadavg: 17.57, 12.67, 10.95 cpu: 112.0% | rss: 431 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:18:22 | loadavg: 17.57, 12.67, 10.95 cpu: 104.2% | rss: 426 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:18:23 | loadavg: 17.57, 12.67, 10.95 cpu: 104.4% | rss: 429 MB (5.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:18:24 | loadavg: 24.17, 14.12, 11.47 cpu: 103.7% | rss: 434 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 3 ms | 00:18:25 | loadavg: 24.17, 14.12, 11.47 cpu: 114.7% | rss: 441 MB (5.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:18:26 | loadavg: 24.17, 14.12, 11.47 cpu: 121.9% | rss: 447 MB (5.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:18:27 | loadavg: 24.17, 14.12, 11.47 cpu: 137.6% | rss: 343 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 4 ms | 00:18:28 | loadavg: 24.17, 14.12, 11.47 cpu: 134.5% | rss: 343 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 15 ms | 00:18:29 | loadavg: 23.60, 14.17, 11.50 cpu: 136.4% | rss: 345 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 36 ms | 00:18:30 | loadavg: 23.60, 14.17, 11.50 cpu: 127.7% | rss: 310 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 36 ms | 00:18:31 | loadavg: 23.60, 14.17, 11.50 cpu: 128.0% | rss: 303 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 33 ms | 00:18:32 | loadavg: 23.60, 14.17, 11.50 cpu: 126.7% | rss: 369 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 26 ms | 00:18:33 | loadavg: 23.60, 14.17, 11.50 cpu: 124.7% | rss: 383 MB (4.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 22 ms | 00:18:34 | loadavg: 25.79, 14.78, 11.74 cpu: 141.7% | rss: 348 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 14 ms | 00:18:35 | loadavg: 25.79, 14.78, 11.74 cpu: 144.3% | rss: 340 MB (4.0%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 9 ms | 00:18:36 | loadavg: 25.79, 14.78, 11.74 cpu: 158.7% | rss: 372 MB (4.3%) | heap: 1.8 GB / 2.0 GB (93.3%) | ext: 1.1 GB | delay: 23 ms | 00:18:37 | loadavg: 25.79, 14.78, 11.74 cpu: 174.7% | rss: 332 MB (3.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 28 ms | 00:18:38 | loadavg: 25.79, 14.78, 11.74 cpu: 179.8% | rss: 325 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 21 ms | 00:18:39 | loadavg: 24.93, 14.78, 11.75 cpu: 183.2% | rss: 272 MB (3.2%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 43 ms | 00:18:40 | loadavg: 24.93, 14.78, 11.75 cpu: 144.3% | rss: 214 MB (2.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 69 ms | 00:18:41 | loadavg: 24.93, 14.78, 11.75 cpu: 126.4% | rss: 330 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 73 ms | 00:18:42 | loadavg: 24.93, 14.78, 11.75 cpu: 101.9% | rss: 301 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 40 ms | 00:18:43 | loadavg: 24.93, 14.78, 11.75 cpu: 109.1% | rss: 266 MB (3.1%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 17 ms | 00:18:44 | loadavg: 31.34, 16.28, 12.30 cpu: 133.4% | rss: 310 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 13 ms | 00:18:45 | loadavg: 31.34, 16.28, 12.30 cpu: 151.9% | rss: 325 MB (3.8%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 9 ms | 00:18:46 | loadavg: 31.34, 16.28, 12.30 cpu: 176.7% | rss: 282 MB (3.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 1 ms | 00:18:47 | loadavg: 31.34, 16.28, 12.30 cpu: 172.6% | rss: 306 MB (3.6%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 0 ms | 00:18:48 | loadavg: 31.34, 16.28, 12.30 cpu: 172.5% | rss: 314 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 4 ms | 00:18:49 | loadavg: 30.19, 16.29, 12.33 cpu: 153.8% | rss: 304 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 6 ms | 00:18:50 | loadavg: 30.19, 16.29, 12.33 cpu: 170.1% | rss: 297 MB (3.5%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 9 ms | 00:18:51 | loadavg: 30.19, 16.29, 12.33 cpu: 173.8% | rss: 315 MB (3.7%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 5 ms | 00:18:52 | loadavg: 30.19, 16.29, 12.33 cpu: 211.8% | rss: 281 MB (3.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 6 ms | 00:18:53 | loadavg: 30.19, 16.29, 12.33 cpu: 214.9% | rss: 280 MB (3.3%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 23 ms | 00:18:54 | loadavg: 29.69, 16.42, 12.40 cpu: 227.3% | rss: 251 MB (2.9%) | heap: 1.8 GB / 2.0 GB (93.4%) | ext: 1.1 GB | delay: 25 ms | 00:18:55 | loadavg: 29.69, 16.42, 12.40 success Running gatsby-plugin-sharp.IMAGE_PROCESSING jobs - 1076.002s - 879/879 0.82/s success Merge worker state - 0.040s cpu: 151.8% | rss: 1.8 GB (20.4%) | heap: 1.8 GB / 2.1 GB (87.6%) | ext: 742 MB | delay: 771 ms | 00:19:05 | loadavg: 31.09, 17.18, 12.72 cpu: 149.2% | rss: 1.7 GB (20.4%) | heap: 1.8 GB / 2.0 GB (89.8%) | ext: 742 MB | delay: 866 ms | 00:19:08 | loadavg: 31.09, 17.18, 12.72 cpu: 126.0% | rss: 1.9 GB (22.3%) | heap: 1.9 GB / 2.1 GB (89.0%) | ext: 891 MB | delay: 965 ms | 00:19:20 | loadavg: 29.53, 17.53, 12.92 cpu: 113.8% | rss: 1.6 GB (18.9%) | heap: 1.9 GB / 2.1 GB (89.0%) | ext: 891 MB | delay: 944 ms | 00:19:21 | loadavg: 29.53, 17.53, 12.92 cpu: 91.7% | rss: 1.4 GB (16.3%) | heap: 1.9 GB / 2.1 GB (89.0%) | ext: 891 MB | delay: 928 ms | 00:19:24 | loadavg: 27.25, 17.26, 12.85 success Rewriting compilation hashes - 0.016s cpu: 36.3% | rss: 1.4 GB (16.4%) | heap: 1.9 GB / 2.1 GB (89.2%) | ext: 893 MB | delay: 705 ms | 00:19:25 | loadavg: 27.25, 17.26, 12.85 cpu: 40.3% | rss: 1.4 GB (16.1%) | heap: 1.9 GB / 2.1 GB (89.3%) | ext: 894 MB | delay: 755 ms | 00:19:26 | loadavg: 27.25, 17.26, 12.85 success Writing page-data.json files to public directory - 2.119s - 807/807 380.86/s cpu: 40.6% | rss: 1.3 GB (14.6%) | heap: 1.9 GB / 2.1 GB (89.3%) | ext: 894 MB | delay: 568 ms | 00:19:27 | loadavg: 27.25, 17.26, 12.85 cpu: 74.8% | rss: 1.3 GB (15.3%) | heap: 1.9 GB / 2.1 GB (89.3%) | ext: 894 MB | delay: 534 ms | 00:19:28 | loadavg: 27.25, 17.26, 12.85 cpu: 83.7% | rss: 1.4 GB (15.8%) | heap: 1.9 GB / 2.1 GB (89.3%) | ext: 894 MB | delay: 678 ms | 00:19:29 | loadavg: 30.75, 18.15, 13.19 cpu: 120.0% | rss: 1.5 GB (18.0%) | heap: 1.9 GB / 2.1 GB (89.3%) | ext: 894 MB | delay: 694 ms | 00:19:30 | loadavg: 30.75, 18.15, 13.19 cpu: 116.1% | rss: 1.6 GB (18.6%) | heap: 1.5 GB / 1.7 GB (89.5%) | ext: 741 MB | delay: 856 ms | 00:19:33 | loadavg: 30.75, 18.15, 13.19 cpu: 133.1% | rss: 1.5 GB (17.3%) | heap: 1.5 GB / 1.7 GB (89.5%) | ext: 741 MB | delay: 752 ms | 00:19:34 | loadavg: 32.61, 18.74, 13.43 cpu: 136.6% | rss: 1.5 GB (17.3%) | heap: 1.5 GB / 1.7 GB (89.5%) | ext: 741 MB | delay: 715 ms | 00:19:35 | loadavg: 32.61, 18.74, 13.43 cpu: 147.1% | rss: 1.5 GB (17.4%) | heap: 1.5 GB / 1.7 GB (90.4%) | ext: 741 MB | delay: 643 ms | 00:19:37 | loadavg: 32.61, 18.74, 13.43 cpu: 122.3% | rss: 1.5 GB (17.2%) | heap: 1.5 GB / 1.7 GB (90.4%) | ext: 741 MB | delay: 710 ms | 00:19:38 | loadavg: 32.61, 18.74, 13.43 cpu: 112.9% | rss: 1.5 GB (17.2%) | heap: 1.5 GB / 1.7 GB (90.4%) | ext: 741 MB | delay: 751 ms | 00:19:39 | loadavg: 32.24, 18.90, 13.51 cpu: 99.8% | rss: 1.5 GB (17.2%) | heap: 1.5 GB / 1.7 GB (90.5%) | ext: 741 MB | delay: 576 ms | 00:19:40 | loadavg: 32.24, 18.90, 13.51 cpu: 95.3% | rss: 1.5 GB (17.4%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 825 ms | 00:19:43 | loadavg: 32.24, 18.90, 13.51 cpu: 89.5% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 712 ms | 00:19:44 | loadavg: 33.10, 19.30, 13.69 cpu: 69.5% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 569 ms | 00:19:45 | loadavg: 33.10, 19.30, 13.69 cpu: 30.7% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 44 ms | 00:19:46 | loadavg: 33.10, 19.30, 13.69 cpu: 1.0% | rss: 1.5 GB (17.2%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 10 ms | 00:19:47 | loadavg: 33.10, 19.30, 13.69 cpu: 1.1% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 6 ms | 00:19:48 | loadavg: 33.10, 19.30, 13.69 cpu: 0.9% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 18 ms | 00:19:49 | loadavg: 31.98, 19.29, 13.72 cpu: 1.0% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 15 ms | 00:19:50 | loadavg: 31.98, 19.29, 13.72 cpu: 0.9% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 19 ms | 00:19:51 | loadavg: 31.98, 19.29, 13.72 cpu: 1.0% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 10 ms | 00:19:52 | loadavg: 31.98, 19.29, 13.72 cpu: 1.4% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 14 ms | 00:19:53 | loadavg: 31.98, 19.29, 13.72 cpu: 1.4% | rss: 1.5 GB (17.1%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 14 ms | 00:19:54 | loadavg: 30.62, 19.22, 13.72 cpu: 1.3% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 15 ms | 00:19:55 | loadavg: 30.62, 19.22, 13.72 cpu: 0.9% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 19 ms | 00:19:56 | loadavg: 30.62, 19.22, 13.72 cpu: 0.9% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 18 ms | 00:19:57 | loadavg: 30.62, 19.22, 13.72 cpu: 0.8% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 27 ms | 00:19:58 | loadavg: 30.62, 19.22, 13.72 cpu: 0.8% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 20 ms | 00:19:59 | loadavg: 30.01, 19.28, 13.78 cpu: 0.9% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 22 ms | 00:20:00 | loadavg: 30.01, 19.28, 13.78 cpu: 1.0% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 9 ms | 00:20:01 | loadavg: 30.01, 19.28, 13.78 cpu: 0.9% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 12 ms | 00:20:02 | loadavg: 30.01, 19.28, 13.78 cpu: 1.0% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 8 ms | 00:20:03 | loadavg: 30.01, 19.28, 13.78 cpu: 1.0% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 6 ms | 00:20:04 | loadavg: 27.76, 19.00, 13.71 cpu: 1.1% | rss: 1.5 GB (16.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 3 ms | 00:20:05 | loadavg: 27.76, 19.00, 13.71 cpu: 1.1% | rss: 1.4 GB (16.8%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 1 ms | 00:20:06 | loadavg: 27.76, 19.00, 13.71 cpu: 1.1% | rss: 1.4 GB (15.9%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 6 ms | 00:20:07 | loadavg: 27.76, 19.00, 13.71 cpu: 1.0% | rss: 1.3 GB (15.3%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 11 ms | 00:20:08 | loadavg: 27.76, 19.00, 13.71 cpu: 1.0% | rss: 1.3 GB (14.7%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 53 ms | 00:20:09 | loadavg: 25.94, 18.76, 13.66 cpu: 0.9% | rss: 1.2 GB (14.5%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 58 ms | 00:20:10 | loadavg: 25.94, 18.76, 13.66 cpu: 0.9% | rss: 1.2 GB (14.5%) | heap: 1.5 GB / 1.6 GB (91.3%) | ext: 741 MB | delay: 51 ms | 00:20:11 | loadavg: 25.94, 18.76, 13.66 cpu: 0.9% | rss: 1.2 GB (14.5%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 10 ms | 00:20:12 | loadavg: 25.94, 18.76, 13.66 cpu: 0.8% | rss: 1.2 GB (14.5%) | heap: 1.5 GB / 1.6 GB (91.2%) | ext: 741 MB | delay: 5 ms | 00:20:13 | loadavg: 25.94, 18.76, 13.66 success Building static HTML for pages - 46.469s - 807/807 17.37/s verbose [gatsby-plugin-sitemap]: Filtering 807 pages based on 0 excludes verbose [gatsby-plugin-sitemap]: Default filter excluded page /404 verbose [gatsby-plugin-sitemap]: Default filter excluded page /404.html verbose [gatsby-plugin-sitemap]: 805 pages remain after filtering cpu: 33.6% | rss: 1.3 GB (15.1%) | heap: 1.5 GB / 1.7 GB (91.1%) | ext: 741 MB | delay: 309 ms | 00:20:14 | loadavg: 26.10, 18.92, 13.74 cpu: 77.7% | rss: 1.3 GB (15.3%) | heap: 1.5 GB / 1.7 GB (92.0%) | ext: 741 MB | delay: 597 ms | 00:20:15 | loadavg: 26.10, 18.92, 13.74 cpu: 89.4% | rss: 1.3 GB (15.3%) | heap: 1.6 GB / 1.7 GB (92.2%) | ext: 741 MB | delay: 881 ms | 00:20:17 | loadavg: 26.10, 18.92, 13.74 cpu: 98.4% | rss: 1.3 GB (15.4%) | heap: 1.6 GB / 1.7 GB (92.7%) | ext: 741 MB | delay: 954 ms | 00:20:18 | loadavg: 26.10, 18.92, 13.74 cpu: 56.9% | rss: 1.3 GB (15.5%) | heap: 1.6 GB / 1.7 GB (93.6%) | ext: 741 MB | delay: 981 ms | 00:20:21 | loadavg: 27.46, 19.32, 13.91 success onPostBuild - 8.780s Pages ┌ src/templates/events.js │... Done building in 1240.131634461 sec ```

After rejoicing about the production build working, I ran into issues with the development builds where it would successfully build (but take a long time), but was difficult to browse pages with the following:


What worked for me regarding the Development Build (so far?)

I followed @mjBayati comment to try to limit the mdx files needed for the development builds by using the ignore option for the gatsby-source-filesystem plugin as suggested here with a function to determine which folders to ignore. You can see it in the gatsby-config.js file, and I included an example in the dropdown.

limit mdx files ``` { resolve: "gatsby-source-filesystem", options: { path: `${__dirname}/src/collections/blog`, name: "blog", ignore: process.env.GATSBY_DEV_AMENDED === "true" ? devIgnoreArray("blog") : [] }, }, ```

I also installed gatsby-plugin-no-sourcemaps based on this @pixelsoup comment, hoping it would help.

With those two things active, I could navigate my development build and it seemed the file sizes and memory usage was stable at approx. 4-5GB.

The development builds consistently finished (logs below for before and after the migration). The issues with climbing memory and file sizes happened after the develop build was complete and there was no limitation on the number of mdx files.

build logs:

Cold development build - gatsby-plugin-mdx v3 | MDX v1 - any heap memory usage over 1.5MB is logged (Building development bundle - 209.777s): ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "develop" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/develop.js verbose running command: develop verbose Transition to "initializing" success compile gatsby files - 1.520s info The following flags are active: - FAST_DEV · Enable all experiments aimed at improving develop server start time. - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. - DEV_SSR · (Umbrella Issue (https://gatsby.dev/dev-ssr-feedback)) · Server Side Render (SSR) pages on full reloads during develop. Helps you detect SSR bugs and fix them without needing to do full builds. - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. There is one other flag available that you might be interested in: - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.427s success load plugins - 3.112s success onPreInit - 0.024s success initialize cache - 0.522s success copy gatsby files - 1.067s success Compiling Gatsby Functions - 1.186s success onPreBootstrap - 1.353s verbose Creating 1 worker verbose Transition to "initializingData" success createSchemaCustomization - 0.020s verbose Transition to "initializingData" > "sourcingNodes" verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.004s success source and transform nodes - 42.047s verbose Transition to "initializingData" > "buildingSchema" success building schema - 0.979s verbose Transition to "initializingData" > "creatingPages" success create redirects success createPages - 0.807s success createPagesStatefully - 0.647s info Total nodes: 6905, SitePage nodes: 809 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1561, File: 2763, ImageSharp: 1028, Mdx: 680, Site: 1, SiteBuildMetadata: 1, SitePage: 809, SitePlugin: 62 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 809 changed pages success Checking for changed pages - 0.007s verbose Transition to "initializingData" > "writingOutRedirects" success write out redirect data - 0.017s verbose Transition to "initializingData" > "done" verbose Transition to "runningPostBootstrap" success Build manifest and related icons - 0.169s success onPostBootstrap - 0.243s info bootstrap finished - 63.116s verbose Transition to "runningQueries" success onPreExtractQueries - 0.002s success extract queries from components - 11.399s verbose Transition to "runningQueries" > "waitingPendingQueries" verbose Transition to "runningQueries" > "writingRequires" success write out requires - 0.248s verbose Transition to "runningQueries" > "calculatingDirtyQueries" verbose Transition to "runningQueries" > "runningStaticQueries" warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Blog/Blog-single/index.js warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Community/Member s-grid/DataWrapper.js success run static queries - 22.158s - 31/31 1.40/s verbose Transition to "runningQueries" > "runningPageQueries" success run page queries - 0.025s - 2/2 81.21/s verbose Transition to "runningQueries" > "waitingForJobs" success Running gatsby-plugin-sharp.IMAGE_PROCESSING jobs - 24.751s - 687/687 27.76/s verbose Transition to "runningQueries" > "done" verbose Transition to "startingDevServers" warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) verbose Attaching functions to development server ERROR [BABEL] Note: The code generator has deoptimised the styling of /Users/------/ Documents/GitHub/layer5/src/sections/Company/About/images/layer5-projects.svg as it exceeds the max of 500KB. ERROR [BABEL] Note: The code generator has deoptimised the styling of undefined as it exceeds the max of 500KB. ⠀ You can now view Layer5 in the browser. ⠀ http://localhost:8000/ ⠀ View GraphiQL, an in-browser IDE, to explore your site's data and schema ⠀ http://localhost:8000/___graphql ⠀ Note that the development build is not optimized. To create a production build, use gatsby build ⠀ warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building development bundle - 209.777s verbose Transition to "waiting" success Writing page-data.json files to public directory - 2.430s - 2/809 332.87/s ```
Cold development build - gatsby-plugin-mdx v4 | MDX v2 - no gatsby-ssr.js workaround - any heap memory usage over 1.5MB is logged (Building development bundle - 708.665s): ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "develop" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/develop.js verbose running command: develop verbose Transition to "initializing" success compile gatsby files - 0.763s info The following flags are active: - FAST_DEV · Enable all experiments aimed at improving develop server start time. - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. - DEV_SSR · (Umbrella Issue (https://gatsby.dev/dev-ssr-feedback)) · Server Side Render (SSR) pages on full reloads during develop. Helps you detect SSR bugs and fix them without needing to do full builds. - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. There is one other flag available that you might be interested in: - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.194s success load plugins - 2.924s success onPreInit - 0.022s success initialize cache - 0.168s success copy gatsby files - 1.577s success Compiling Gatsby Functions - 2.110s success onPreBootstrap - 2.594s verbose Creating 1 worker verbose Transition to "initializingData" success createSchemaCustomization - 0.122s verbose Transition to "initializingData" > "sourcingNodes" verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.032s success source and transform nodes - 18.904s verbose Transition to "initializingData" > "buildingSchema" success building schema - 0.953s verbose Transition to "initializingData" > "creatingPages" success create redirects success createPages - 14.152s success createPagesStatefully - 0.675s info Total nodes: 6895, SitePage nodes: 808 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1557, File: 2758, ImageSharp: 1027, Mdx: 678, Site: 1, SiteBuildMetadata: 1, SitePage: 808, SitePlugin: 65 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 808 changed pages success Checking for changed pages - 0.002s verbose Transition to "initializingData" > "writingOutRedirects" success write out redirect data - 0.009s verbose Transition to "initializingData" > "done" verbose Transition to "runningPostBootstrap" success Build manifest and related icons - 0.222s success onPostBootstrap - 0.244s info bootstrap finished - 51.041s verbose Transition to "runningQueries" success onPreExtractQueries - 0.017s success extract queries from components - 17.404s verbose Transition to "runningQueries" > "waitingPendingQueries" verbose Transition to "runningQueries" > "writingRequires" success write out requires - 0.083s verbose Transition to "runningQueries" > "calculatingDirtyQueries" verbose Transition to "runningQueries" > "runningStaticQueries" success run static queries - 11.298s - 31/31 2.74/s verbose Transition to "runningQueries" > "runningPageQueries" success run page queries - 0.012s - 2/2 162.19/s verbose Transition to "runningQueries" > "waitingForJobs" success Running gatsby-plugin-sharp.IMAGE_PROCESSING jobs - 15.355s - 685/685 44.61/s verbose Transition to "runningQueries" > "done" verbose Transition to "startingDevServers" warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) verbose Attaching functions to development server ⠀ You can now view Layer5 in the browser. ⠀ http://localhost:8000/ ⠀ View the GraphQL Playground, an in-browser IDE, to explore your site's data and schema ⠀ http://localhost:8000/___graphql ⠀ Note that the development build is not optimized. To create a production build, use gatsby build ⠀ warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building development bundle - 708.665s verbose Transition to "waiting" success Writing page-data.json files to public directory - 34.342s - 2/808 23.53/s ```
Cold development build - gatsby-plugin-mdx v4 | MDX v2 - with gatsby-ssr.js workaround - any heap memory usage over 1.5MB is logged: Success (Building development bundle - 822.881s) ``` verbose set gatsby_log_level: "verbose" verbose set gatsby_executing_command: "develop" verbose loading local command from: /Users/------/Documents/GitHub/layer5/node _modules/gatsby/dist/commands/develop.js verbose running command: develop verbose Transition to "initializing" success compile gatsby files - 0.773s info The following flags are active: - FAST_DEV · Enable all experiments aimed at improving develop server start time. - PARALLEL_SOURCING · EXPERIMENTAL · (Umbrella Issue (https://gatsby.dev/parallel-sourcing-feedback)) · Run all source plugins at the same time instead of serially. For sites with multiple source plugins, this can speedup sourcing and transforming considerably. - DEV_SSR · (Umbrella Issue (https://gatsby.dev/dev-ssr-feedback)) · Server Side Render (SSR) pages on full reloads during develop. Helps you detect SSR bugs and fix them without needing to do full builds. - PRESERVE_FILE_DOWNLOAD_CACHE · (Umbrella Issue (https://gatsby.dev/cache-clearing-feedback)) · Don't delete the downloaded files cache when changing gatsby-node.js & gatsby-config.js files. There is one other flag available that you might be interested in: - DETECT_NODE_MUTATIONS · Diagnostic mode to log any attempts to mutate node directly. Helpful when debugging missing data problems. See https://gatsby.dev/debugging-missing-data for more details. success load gatsby config - 0.268s success load plugins - 2.872s success onPreInit - 0.025s success initialize cache - 0.165s success copy gatsby files - 0.698s success Compiling Gatsby Functions - 1.402s success onPreBootstrap - 1.469s verbose Creating 1 worker verbose Transition to "initializingData" success createSchemaCustomization - 0.038s verbose Transition to "initializingData" > "sourcingNodes" verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 0 changed pages success Checking for changed pages - 0.004s success source and transform nodes - 12.498s verbose Transition to "initializingData" > "buildingSchema" success building schema - 0.769s verbose Transition to "initializingData" > "creatingPages" success create redirects success createPages - 11.620s success createPagesStatefully - 0.692s info Total nodes: 6895, SitePage nodes: 808 (use --verbose for breakdown) verbose Number of node types: 8. Nodes per type: Directory: 1557, File: 2758, ImageSharp: 1027, Mdx: 678, Site: 1, SiteBuildMetadata: 1, SitePage: 808, SitePlugin: 65 verbose Checking for deleted pages verbose Deleted 0 pages verbose Found 808 changed pages success Checking for changed pages - 0.002s verbose Transition to "initializingData" > "writingOutRedirects" success write out redirect data - 0.021s verbose Transition to "initializingData" > "done" verbose Transition to "runningPostBootstrap" success Build manifest and related icons - 0.200s success onPostBootstrap - 0.224s info bootstrap finished - 41.054s verbose Transition to "runningQueries" success onPreExtractQueries - 0.002s success extract queries from components - 20.344s verbose Transition to "runningQueries" > "waitingPendingQueries" verbose Transition to "runningQueries" > "writingRequires" success write out requires - 0.161s verbose Transition to "runningQueries" > "calculatingDirtyQueries" verbose Transition to "runningQueries" > "runningStaticQueries" warn This query took more than 15s to run — which is unusually long and might indicate you're querying too much or have some unoptimized code: File path: /Users/------/Documents/GitHub/layer5/src/sections/Blog/Blog-single/index.js success run static queries - 15.255s - 31/31 2.03/s verbose Transition to "runningQueries" > "runningPageQueries" success run page queries - 0.033s - 2/2 60.24/s verbose Transition to "runningQueries" > "waitingForJobs" success Running gatsby-plugin-sharp.IMAGE_PROCESSING jobs - 21.772s - 685/685 31.46/s verbose Transition to "runningQueries" > "done" verbose Transition to "startingDevServers" warn `isModuleDeclaration` has been deprecated, please migrate to `isImportOrExportDeclaration` at isModuleDeclaration (/Users/------/Documents/GitHub/layer5/node_modules /@babel/types/lib/validators/generated/index.js:2740:35) at PluginPass.Program (/Users/------/Documents/GitHub/layer5/node_modules/ babel-plugin-lodash/lib/index.js:102:44) verbose Attaching functions to development server ⠀ You can now view Layer5 in the browser. ⠀ http://localhost:8000/ ⠀ View the GraphQL Playground, an in-browser IDE, to explore your site's data and schema ⠀ http://localhost:8000/___graphql ⠀ Note that the development build is not optimized. To create a production build, use gatsby build ⠀ warn ./node_modules/react-accessible-accordion/dist/es/index.js Attempted import error: 'useId' is not exported from 'react' (imported as 'useId'). success Building development bundle - 822.881s verbose Transition to "waiting" success Writing page-data.json files to public directory - 29.920s - 2/808 27.01/s ```

notes:

Gatsby Info ``` System:
OS: macOS 12.6.3 CPU: (4) x64 Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz Shell: 5.8.1 - /bin/zsh Binaries: Node: 20.3.1 - ~/.nvm/versions/node/v20.3.1/bin/node npm: 9.6.7 - ~/.nvm/versions/node/v20.3.1/bin/npm Browsers: Chrome: 114.0.5735.198 Safari: 16.3 npmPackages: gatsby: ^4.20.0 => 4.25.4 gatsby-awesome-pagination: ^0.3.8 => 0.3.8 gatsby-background-image: ^1.6.0 => 1.6.0 gatsby-cli: ^5.5.0 => 5.5.0 gatsby-plugin-anchor-links: ^1.2.1 => 1.2.1 gatsby-plugin-feed: ^4.25.0 => 4.25.0 gatsby-plugin-image: ^2.22.0 => 2.22.0 gatsby-plugin-loadable-components-ssr: ^4.3.2 => 4.3.2 gatsby-plugin-manifest: ^4.25.0 => 4.25.0 gatsby-plugin-mdx: ^3.20.0 => 4.4.0 gatsby-plugin-meta-redirect: github:layer5labs/gatsby-plugin-meta-redirect => 1.1.1 gatsby-plugin-preload-fonts: ^3.24.0 => 3.25.0 gatsby-plugin-robots-txt: ^1.7.1 => 1.7.1 gatsby-plugin-sharp: ^4.25.1 => 4.25.1 gatsby-plugin-sitemap: ^5.25.0 => 5.25.0 gatsby-plugin-styled-components: ^5.25.0 => 5.25.0 gatsby-plugin-svgr: ^3.0.0-beta.0 => 3.0.0-beta.0 gatsby-plugin-webpack-bundle-analyser-v2: ^1.1.30 => 1.1.30 gatsby-redirect-from: ^0.5.0 => 0.5.0 gatsby-source-filesystem: ^4.25.0 => 4.25.0 gatsby-transformer-sharp: ^4.25.0 => 4.25.0 npmGlobalPackages: gatsby-cli: 5.11.0 ``` >note: for those who didn't know (like me), you can get the above info with the [`gatsby info`](https://www.gatsbyjs.com/docs/reference/gatsby-cli/#info) command when you install Gatsby CLI
Logging tools used I used the following tools while investigating the OOM issue: - [process-top](https://www.npmjs.com/package/process-top), note: I wasn't able to get it to work for the entire build by using the command `npx process-top ./node_modules/.bin/gatsby build` (it would stop working at some point). Instead I installed the package and then added it to the gatsby-node.js file (code in the dropdown)
process-top code ``` const top = require("process-top")(); setInterval(function () { console.log(top.toString()) }, 1000); /* if you want to only see the memory string when it spikes above a certain amount, I used the following in the setInterval function instead: let heapMem = top.memory().heapUsed / 1000000; if (heapMem > 1500) { console.log(top.toString()); } */ ``` >note: for those who didn't know (like me), you can get the info you see in the terminal/console to log to a file using the following command:`gatsby build --verbose 2>&1 | tee gatsby_build_log.txt` ([source](https://unix.stackexchange.com/questions/20469/difference-between-21-output-log-and-21-tee-output-log)). The text file will be in your root project folder, be sure add to .gitignore.
- `GATSBY_WEBPACK_LOGGING="build-javascript,build-html" gatsby build` command as [described here](https://github.com/gatsbyjs/gatsby/pull/33214). I did not understand the output very well, but it gave more info than using `verbose`. - [gatsby-plugin-webpack-bundle-analyser-v2](https://www.gatsbyjs.com/plugins/gatsby-plugin-webpack-bundle-analyser-v2/) and [gatsby-plugin-perf-budgets](https://github.com/pieh/gatsby-plugin-perf-budgets) (note: perf-budgets did not work with the production build). I did not try the tools [described here](https://relative-ci.com/documentation/guides/webpack-stats/gatsby).
Reference Documents - Chidume Nnamdi: ["Understanding Memory Leaks in Nodejs"](https://blog.bitsrc.io/memory-leaks-in-nodejs-54ac7bbd4173) - Gatsby: [Resolving Out-of-Memory Issues](https://www.gatsbyjs.com/docs/how-to/performance/resolving-out-of-memory-issues/)

Cheers, Randy

randychilau commented 1 year ago

Hi Everyone,

The below was done based on the suggestion in this thread that the rewritten gatsby-plugin-mdx is bringing all mdx created pages into RAM? memory in development builds.


In an effort to get a development build working without limiting the number of mdx files (as in my previous post), I saw some progress in making the unrestricted development builds functional by reducing the file size/bundle of pages created from mdx files

reminder: this project is open source, and you can review any files mentioned here there.

For example, the project has an integration template that is used by over 200 mdx files, and each of these mdx files included the same two images that had a combined file size of about 2MBs. I resized and optimized these images to less than a combined size of 200kbs. This action reduced the amount of memory used by node on my machine.

I also found a lightbox library being imported in some of the templates that was 300kbs large. Removing that library further reduced the memory used by node.

A helpful VSCode extension to see the cost of imported 3rd party libraries is Import Cost.

Lastly, since the project is on React 17 and does not have access to lazy loading in React 18, I used loadable-components library to lazy load below the fold components being used in templates. Note: I didn't check if this also decreased the memory used by node.

Maybe those who have hundred or thousands of mdx files without memory issues in their builds are able to keep the resulting page small in file size?


A couple of side notes


I hope this data point is helpful and others can share their own regarding this issue.

Any feedback, analysis, or suggestion is very welcomed, I have no experience in node memory issues and happy to learn.

Cheers, Randy

vsolanogo commented 9 months ago

in my case it uses about 20+gb at peak while on previous versions it used no more than 6gb: https://github.com/vsolanogo/apipka

that huge amount of ram killed project and there're no way to figure out what caused it

orval commented 1 month ago

I've been running into out-of-memory issues in Gatsby since I started using it. I have a documentation tool that generates different kinds of output, and one of those is a Gatsby site.

It's possible I am doing something naive in terms of layout etc., but so far my attempts to optimize the configuration haven't worked out. I did a few things to change the webpack chunking but it seems like Gatsby might be overriding the settings.

So what I have done is auto-generate some fake documentation and used my tool to generate the site for it. I've checked that into this repository: https://github.com/orval/gatsbyrakoshtest

There is a content folder with ~4k MDX files. The total size of the folder is 24Mb. Running either ./node_modules/.bin/gatsby develop or ./node_modules/.bin/gatsby build results in "JavaScript heap out of memory" failures.

I'm hoping that this test case will help the maintainers look into this issue. Or at least perhaps point out something that I'm doing that is horribly wrong!

[edit] This branch has 577 MDX files totalling 3.1Mb and blows 4Gb of heap: https://github.com/orval/gatsbyrakoshtest/tree/577_mdx

Webpack analyser output:

SCR-20240717-prjw