We consider a finite buffer shared by multiple packet queues. Throughput can be considerably improved by partitioning the buffer space among the queues judiciously, especially under a high load regime. We formulate optimal buffer partitioning as a resource allocation problem, the solution of which is found through a greedy incremental algorithm in polynomial time. The rest of the work is devoted to applying the optimal buffer allocation strategy in different scenarios modeling a wireless downlink. First, the strategy is applied in a general parallel M/M/1/mi system and a numerical study verifies that the strategy may boost the throughput considerably. Then, a multichannel extension of this system is considered when the users have different arrival rates and channels have different outage probabilities. Jointly optimal buffer space allocation and channel assignment problems in this scenario are shown to be separable. Lastly, buffer allocation is considered in a system where users need to be multiplexed and scheduled based on channel state. It is shown that this system can be modeled as a set of parallel M/G/1/m(i) queues to which the optimum buffer allocation strategy is again applicable. The improvement brought by optimal buffer allocation to scheduling based solely on channel- state is explored. It is observed that buffer optimization can result in remarkable throughput increase on top of channelbased user selection.