On 2026/05/17 02:03, Andrew Kloet wrote: > On Sat May 16, 2026 at 3:21 PM EDT, H. Hartzer wrote: > > I wanted to say that as of v0.18.5.0, Monero is running a lot better on > > OpenBSD. I still have to use --db-sync-mode=fast:async:10000 -- if I > > don't, once synced the system is incredibly slow. > > > > I wanted to say this in case anyone had given Monero a try under OpenBSD > > before and found it unusable. It's still not *good*, but it's getting > > better and maybe worth a second chance. > > > > Stopping the daemon does hang the system for about a minute, which is a > > lot better than it used to be! > > > > On Wed Dec 17, 2025 at 10:03 AM UTC, Stuart Henderson wrote: > >> as said before... > >> > >> https://marc.info/?l=openbsd-ports&m=176200894330926&w=2 > >> > >> without patching to force writemap, lmdb is *not* going to work on OpenBSD > > > > I still haven't looked into this yet. > While I'd also love to see Monero in the OpenBSD ports tree I still > unfortunately am of the mind that it's still too broken to consider. The > fact that the database can only run in the unsafe mode where any > unexpected stops can irrecoverably corrupt the entire database is pretty > horrid to the end-user. by "unsafe mode" I think you mean async here? > As noted, The reason this issue occurs is because OpenBSD--unlike > FreeBSD and Linux--lacks a Unified Buffer Cache (ubc). A ubc makes it so > when a program writes to a file using write(), the OS modifies the same > physical memory pages used by mmap. that's an issue with the default mode but not with writemap (and writemap is not the same thing as async). does it work with writemap forced but without using async? (openldap uses mdb with writemap forced and generally seems to work, though this would typically be putting much less stress on the db than some blockchain thing). > While neither a kernel, Monero, or LMDB dev, from the research I've done > I've pieced together that there are really only two real solutions to > run Monero "smoothly" on OpenBSD, both of which are not easy: > > 1. Like Linux/FreeBSD do, the OpenBSD kernel would need a ubc. > 2. LMDB would need to be vendored to bridge the split-cache gap manually > without relying on the OS. Every time a write() call is made, LMDB > would need to issue an msync(MS_INVALIDATE) on the exact memory pages > that were modified (though this may just introduce the exact same > halting overhead). > > Andrew >
No comments:
Post a Comment