-
Guest_55
Hi guys, I'm trying to understand a few things about monerod and maybe someone could clarify a few details.
-
Guest_55
Can "monerod --data-dir" default be changed permanently?
-
Guest_55
I'm also getting this warning "W The blockchain is on a rotating drive: this will be very slow, use an SSD if possible ..." when I am using an SSD though a usb one.
-
Guest_55
ok.. maybe this isn't the right forum for these questions?
-
rbrunner
Guest55: Yeah, this is the channel for programming questions. You might try in #monero.
-
rbrunner
About changing the data dir permanently: If you want your blockchain in another place, just make sure you always start your daemon that way. No other mechanism to achieve any "permanence" really.
-
rbrunner
That warning about the slow HD: That's harmless, for some problem in the logic or in the response of the OS the daemon thinks you are using a slow HD while you are not, and warns. Also happens within virtual machines, for example.
-
UkoeHB_
He left
-
normo
Hey, I am facing a lot of 'W Failed to create a read transaction for the db: MDB_READERS_FULL: Environment maxreaders limit reached' lately. This makes monerod totally unresponsive. I already start monerod with ' --max-concurrency 60' to no avail really. Are there any other options?
-
Guest68714
re: documentation. That's an issue. A lot of stuff is not documented. I added the main features in the download page on getmonero and in other places. I also open issues when i think we should document something on the website, but what's missing is people actually doing it. I would totally support a CCS for that
-
Guest68714
Please open an issue on monero-site if you think something should be documented but it's not
-
Guest68714
-
selsta
normo: Try restarting your system. Also max-concurrency 60? Why? I would not change max concurrency at all.
-
moneromooo
Yes, that's just shooting your self in the foot and wondering why it hurts.
-
moneromooo
You can bump the max readers at runtime IIRC if you really want that. git grep maxreaders or max_readers in src/blockchain/db_lmdb.cpp
-
moneromooo
luigi1111w: can you merge 6612 when you can ? It fixes the build with older boost.
-
normo
selsta: I don't remember where this recommendation came from. I removed max-concurrency again. Still the original error remains. There only is the Monero onion explorer running sharing the same lmdb. This one seems to eat up the readers.
-
hyc
yes, you have to do as moneromooo suggested and increase the number of LMDB readers if you want this to work
-
hyc
monerod by default only allocates enough readers for its own threads, it doesn't know about any other processes also using the DB
-
hyc
the explorer eats up more readers itself, so you have to bump up the max
-
hyc
also afaik there's still a bug in the onion explorer that leaves dangling readers, so it tends to run out of them
-
normo
I even wrote a python tool that reads the readers, but now that it only shows 0, I assume it's bound to the environemnt created in the tool itself instead of the lmdb in general.
-
hyc
an environment only exists as long as any processes have it open
-
hyc
if the tool has its own environment then that means no other processes were still alive on it before
-
hyc
those guys really need to chase down that reader leak and fix it...
-
normo
I will go and increase the value in the source code then. Seems to be the only option if I want to keep the explorer. Thanks everybody.
-
normo
hyc: I just read your comment again. So if I open an (lmdb) environment using the mainnet lmdb drectory (in my python lmdb app), I should see the actual number of readers?
-
hyc
yes
-
hyc
also, if there are no processes active, whoever access the DB first initializes the environment. so you can start your tool and set the readers to a larger number, before starting monerod & explorer
-
normo
Ok, then I have an error in how I access the db. It says '0' readers and a call to 'reader_check()' returns '0' as well. I check that whenever the error occurs.
-
normo
Thanks again for hint with regard to the order of processes started.
-
hyc
the environment is only there while processes have it open.
-
normo
I thought, I could simply, open the environment and check the number of readers to help debugging and actually confirm the high number of readers.
-
hyc
yeah
-
hyc
if the environment is active, yes, you should be able to see the current count
-
hyc
use the mdb_stat CLI tool instead
-
hyc
sounds like whatever LMDB your python is linked with is the wrong version or something
-
hyc
you pretty much have to link to the one that's in the monero build tree
-
normo
I basically just do: 'env = lmdb.open("/mnt/Monero/lmdb", subdir=True, lock=False, readonly=True, max_dbs=10)' and 'env.info()'. That's it.
-
normo
Yes, I will try mdb_stat.