All these (popular) cryptocurrencies have a guide for LXC setup
- dogecoin/doc/gitian-building.md at master · dogecoin/dogecoin · GitHub
- SAPP/doc/gitian-building/gitian-setup-ubuntu.md at master · decenomy/SAPP · GitHub
- Allsafe/doc/gitian-building.md at master · Artinvest/Allsafe · GitHub
- … there are lots more like this
It involves gitian build
I have tried to run them (without gitian, by just using the pre-made release binaries) and I experience lots of “minor page faults”
Minor page faults?
There is also a special case scenario called a minor page fault which occurs when the code (or data) needed is actually already in memory, but it isn’t allocated to that process. For example, if a user is running a web browser then the memory pages with the browser executable code can be shared across multiple users (since the binary is read-only and can’t change). If a second user starts the same web browser then Linux won’t load all the binary again from disk, it will map the shareable pages from the first user and give the second process access to them. In other words, a minor page fault occurs only when the page list is updated (and the MMU configured) without actually needing to access the disk. A minor page fault is your friend requesting to read your checked out copy of The Two Towers and you saying “hey, lets just make a copy of mine!” OR you returning a book, but then immediately checking it out again before the book was even returned to a shelf. source: Understanding page faults and memory swap-in/outs: when should you worry? | Scout APM Blog
You can see them in top
when you press f
navigate to nMin = Minor Page Faults
and press space
to activate then esc
to go back to top
With this enabled in top I see nMin always rising and rising and rising along with VIRT = Virtual Image (KiB)
to the point that VERT gets huge (GB) and also keeps rising
up to the point that the daemon process hangs
LXD should be able to run processes just as well as any system does (without needing special building) so is this as simple as allowing allocation by adding the process to the lxc cgroup or something?
Gitian is a mess to get working and I would think that it was needed in the early days of LXC but surely not after all these years of improvements.
PS: I had all these minor page faults with a 10GB Swapfile configured