We have put the finishing touches on the Steem 0.16.0 release and now feel comfortable requesting that all witnesses who support the hard fork to upgrade as soon as possible so that any issues that are discovered can be addressed if necessary.
Hard fork is still set for December 6th, 2016
Platform Configuration Optimizations
The new shared-db architecture in Steem 0.16 keeps blockchain database in a memory-mapped file (previous versions kept the database in memory). Linux is aggressive about flushing changes to disk, so Linux users may need to tweak kernel settings in order to run the latest version of steemd.
The following settings work for Ubuntu 14.04 with 32GB RAM and conventional (non-SSD) hard disk:
echo 75 | sudo tee /proc/sys/vm/dirty_background_ratio echo 1000 | sudo tee /proc/sys/vm/dirty_expire_centisecs echo 80 | sudo tee /proc/sys/vm/dirty_ratio echo 30000 | sudo tee /proc/sys/vm/dirty_writeback_centisecs
Note, these settings affect the entire system. These settings cause changes to files to remain in memory 5 minutes or more. This may increase risk of data loss in the event of an unclean shutdown (i.e. power failure).
The new version of steemd also allows the
--flush parameter, which flushes (msync) the entire memory-mapped file to disk approximately once every n blocks. (The actual block at which the flush occurs is randomized to prevent attacks)
- The default
--flush=100000has been demonstrated to reduce churning on Linux, allowing steemd to run with a wider variety of kernel settings than above.
--flush=0should reduce overall I/O needed, but works on fewer systems.