-
Notifications
You must be signed in to change notification settings - Fork 1.7k
RAM and open files very high #6516
Comments
Interesting, I'm making a lot of requests over IPC, and each one does open a connection, but AFAICT the code is closing all of them: https://github.com/pipermerriam/web3.py/blob/master/web3/providers/ipc.py#L34 Maybe parity is not letting go of the open file handle when the client closes the stream? |
What exactly are you doing? 12 GB memory are either a memory leak (unlikely) or releated to whatever you are doing there :) Same could apply to the number of open files, but please try to share more details.
How long have you been running this node? Can you try again after removing
Have you seen the convenience options? Try
|
I'm doing a bunch of mapping lookups back to back. So maybe 10-20k reads, pause a bit, then run it again. It sure looks like it's keeping an open file handle for every request to the IPC. I sampled this while my reader wasn't running:
Then ran the reader again until completion. Then counted the open files again:
~18k new file handles opened, permanently.
Maybe a week. I'm pretty sure this is just a side effect of hitting the open file limit, because I have plenty of peers for the first few hours. Let's punt on this until the file limit issue is resolved.
Excellent, thanks. I tried it, but my node ID still shows my local network IP, and my router doesn't show a UPnP entry (it does for geth):
The UPnP issue seems unrelated, so I'm happy to open a separate issue. |
Thanks for sharing the details. I'll try to reproduce the IPC/open-files issue without web3.py to confirm this is a parity problem soon. |
Running parity of various versions in kubernetes. Memory usage grows with version numbers: 1.6.8 - 2.5-3.5GB, 1.7.0 - 6-8.2GB, 1.7.2 - 8GB-11.7GB. These parities are not loaded at all, 3 connections to jsonrpc max. What's happening? |
@5chdn any luck reproducing? |
If you like: This is a little recoded, this let the IPC sock open and with that you can do 1000+ request / s. |
thanks for sharing! |
See openethereum/parity-ethereum#6516 Thanks @iFA88 for kicking this off!
See openethereum/parity-ethereum#6516 Thanks @iFA88 for kicking this off!
See openethereum/parity-ethereum#6516 Thanks @iFA88 for kicking this off!
FYI, persistent IPC connections were released in web3.py v3.16.3 and v4.0.0-beta.1 |
I'm running:
I'm running with command:
parity --auto-update all --base-path /mnt/ssd-drive --no-ui --no-ws --no-jsonrpc --no-dapps --db-compaction ssd --geth --log-file /var/log/parity.log
My RAM usage increases over a day to 12+ GB, and number of open files clocked in at
792204
(after increasing the default open file limit, of course).I've tried various settings, like
--cache-size 1024
to try to limit the RAM use. Nothing has changed.I'm doing lots of contract reads, if that's related.
I'm having some other problems, so I'll include them just in case it helps identify a cluster of issues:
geth
peer on my local network (NTP shows me at 50-100ms offset)geth
client already reserved 30303, but I expect it to still work and just broadcast a different external port.I'd really rather use
parity
because that initial sync is so fast. This and the peers->0 issue are holding me back.The text was updated successfully, but these errors were encountered: