Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add new useful V8 option #42575

Merged
merged 21 commits into from
Jun 17, 2022
Merged
Changes from 4 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
a28ef1b
doc: add new useful V8 option
JialuZhang-intel Apr 2, 2022
b960c66
Update doc/api/cli.md
JialuZhang-intel Apr 2, 2022
3ae0f49
Update doc/api/cli.md
JialuZhang-intel Apr 2, 2022
6813f99
Update doc/api/cli.md
JialuZhang-intel Apr 2, 2022
7b1739c
Update doc/api/cli.md
JialuZhang-intel Apr 2, 2022
dddff28
Apply suggestions from code review
JialuZhang-intel Apr 3, 2022
a05b327
Update doc/api/cli.md
JialuZhang-intel Apr 8, 2022
eb1eec7
Remove recommended value for max_semi_space_size
JialuZhang-intel May 5, 2022
d1defe3
Merge branch 'nodejs:master' into document_max_semi_space_size
JialuZhang-intel May 5, 2022
91a151a
doc: update format for cli.md
JialuZhang-intel May 5, 2022
0dfd5e5
doc: add new useful V8 option
JialuZhang-intel May 5, 2022
f91e536
Apply suggestions from code review
JialuZhang-intel May 5, 2022
1bb2ad7
doc: add new useful V8 option
JialuZhang-intel May 5, 2022
4fc45b6
doc: add new useful V8 option
JialuZhang-intel May 5, 2022
e1c0732
Apply suggestions from code review
JialuZhang-intel May 6, 2022
4ef953f
Update doc/api/cli.md
JialuZhang-intel Jun 12, 2022
5574419
Update doc/api/cli.md
JialuZhang-intel Jun 13, 2022
1deaca4
Merge branch 'nodejs:master' into document_max_semi_space_size
JialuZhang-intel Jun 13, 2022
db7d07d
doc: add new useful V8 option
JialuZhang-intel Jun 13, 2022
baa9c9b
Merge branch 'document_max_semi_space_size' of https://github.com/Jia…
JialuZhang-intel Jun 13, 2022
5411215
doc: add new useful V8 option
JialuZhang-intel Jun 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions doc/api/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -1980,6 +1980,23 @@ On a machine with 2 GB of memory, consider setting this to
$ node --max-old-space-size=1536 index.js
```

### `--max_semi_space_size=SIZE` (in megabytes)
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved

Sets the maximum
[semi\_space](https://www.memorymanagement.org/glossary/s.html#semi.space)
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
size for V8's [scavenge](https://v8.dev/blog/orinoco-parallel-scavenger)
garbage collector.
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
Increase the value of max\_semi\_space\_size may bring
the throughput improvement for node and the cost is more memory consumption.
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
The actual throughput improvement and memory consumption
are relevant to your application
([reference](https://github.com/nodejs/node/issues/42511)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand this sentence, do you mean it's relevant to any Node.js application, and if so, how do you know?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tuned the max_semi_space_size value and tested it on two workloads, this is the results:
img
From the figure we can see that the trend of throughput improve are similar on both workloads, but the absolute value are different. I just want the user to test and choose the optimal configuration for their own application.


_The default max\_semi\_space\_size is
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
16MB for 64-bit systems and 8MB for 32-bit systems.
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
The recommended value is 64MB or 128MB if your system has enough
JialuZhang-intel marked this conversation as resolved.
Show resolved Hide resolved
memory._

[Chrome DevTools Protocol]: https://chromedevtools.github.io/devtools-protocol/
[CommonJS]: modules.md
[ECMAScript module loader]: esm.md#loaders
Expand Down