mirror of
https://github.com/nspcc-dev/neofs-node.git
synced 2026-03-01 04:29:10 +00:00
Memory consumption during replication #942
Labels
No labels
I1
I2
I3
I4
S0
S1
S2
S3
S4
U0
U1
U2
U3
U4
blocked
bug
config
dependencies
discussion
documentation
enhancement
enhancement
epic
feature
go
good first issue
help wanted
neofs-adm
neofs-cli
neofs-cli
neofs-cli
neofs-ir
neofs-lens
neofs-storage
neofs-storage
performance
question
security
task
test
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-node#942
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @alexvanin on GitHub (Dec 26, 2022).
I see some unexpected memory consumption during replication process. This is not reproduced on dev-env but can be seen on other environments: hardware or virtual machines.
If node considers the object has not enough replicas, it reads it into memory to put it into others container nodes.
I reduced
replicator.pool_sizedown to1and set more aggressive GC setting (GOGC=20). However after some time I see that some object are keep stored in the memory for longer than I expect.At this memory profile I see 6 objects of 64 MiB (max object size in the network) in memory. This number is changing but tends to grow up over time (later I saw 10 objects in this run). Maybe we can do something about that.
Maybe it is just GC thing (need to try
GOMEMLIMITwith go1.19 build), maybe something else.To reduce number of object reads, node might want to skip replication in case of having
2048 access deniederrors (related to https://github.com/nspcc-dev/neofs-node/issues/1709). This can happen when eACL restricts system operations.Any other ideas are appreciated.
/cc @fyrchik