When using GNU Screen (or other terminal multiplexer), I noticed the terminal multiplexer never gives each bash shell opened, a chance to write the history file on exit.
The usual result after an initial install for several months, the history file will remain practically empty. (As a temporary hack, I created halt scripts for each of my hosts for halting remotely, but prior to issuing the halt command, I would send each bash process an exit signal -- hence, saving the history.) -- Roger http://rogerx.freeshell.org/