It was necessary to keep a good supply of cannon balls near the cannon on old war ships. But how to prevent them from rolling about the deck was the problem. The best storage method devised was to stack them as a square based pyramid, with one ball on top, resting on four, resting on nine, which rested on sixteen.
Thus, a supply of 30 cannon balls could be stacked in a small area right next to the cannon. There was only one problem -- how to prevent the bottom layer from sliding/rolling from under the others.
The solution was a metal plate with 16 round indentations, called, for reasons unknown, a Monkey. But if this plate were made of iron, the iron balls would quickly rust to it. The solution to the rusting problem was to make them of
brass - hence, Brass Monkeys.
Few landlubbers realise that brass contracts much more and much faster than iron when chilled. Consequently, when the temperature dropped too far, the brass indentations would shrink so much that the iron cannon balls would come right off the monkey.
Thus, it was quite literally, cold enough to freeze the balls off a brass monkey. And all this time, you thought that was just a vulgar expression, didn't you?