The "lore" for sizing shared_buffers generally specifies a suggestion in terms of a percentage of system RAM. Some advocate only 10-15%. The thorough academic exploration in the paper Tuning Database Configuration Parameters with iTuned at http://www.cs.duke.edu/~shivnath/papers/ituned.pdf found 40% optimal on a 1 GB system being tested on a wide range of queries. And occasionally reports appear where 60% or more of total RAM turns out to be optimal.
Generally, if you have a server where OS overhead is small relative to total memory (any modern system with 1 GB or more of RAM), giving the database 25% of total RAM is a reasonable starting setting for shared_buffers in the middle of the effective range. It may not be optimal, but it's unlikely to be so high that double buffering becomes an issue. And it's likely to be far better than the tiny default forced on the database by the low shared memory parameters of typical operating system kernel defaults.